<SEC-DOCUMENT>0001079973-24-000691.txt : 20240513
<SEC-HEADER>0001079973-24-000691.hdr.sgml : 20240513
<ACCEPTANCE-DATETIME>20240513163041
ACCESSION NUMBER:		0001079973-24-000691
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		62
CONFORMED PERIOD OF REPORT:	20240331
FILED AS OF DATE:		20240513
DATE AS OF CHANGE:		20240513

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-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-39227
		FILM NUMBER:		24939573

	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-Q
<SEQUENCE>1
<FILENAME>duos_10q-033124.htm
<DESCRIPTION>FORM 10-Q
<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/20240331">
<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_03D_duot_duostechnologies_20240331 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20240101_20240331 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_052_edei%2D%2DDocumentFiscalYearFocus_2024 -->
<!-- Field: Set; Name: xdx; ID: xdx_05F_edei%2D%2DDocumentFiscalPeriodFocus_Q1 -->
<!-- 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="From2024-01-01to2024-03-31" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000004" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000005" name="dei:DocumentFiscalYearFocus">2024</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000006" name="dei:DocumentFiscalPeriodFocus">Q1</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000007" name="dei:EntityCentralIndexKey">0001396536</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2024-03-31" id="xdx2ixbrl0121" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2023-12-31" id="xdx2ixbrl0122" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0408" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0409" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0418" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0420" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0424" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0426" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0427" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0429" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0430" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0435" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0436" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0437" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0438" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0440" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0441" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0444" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0445" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0446" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0447" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0449" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0450" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0453" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0454" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0455" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0458" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0459" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0464" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0465" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0466" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0467" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0468" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0470" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0475" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0486" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0492" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0503" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0509" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0510" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0512" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0513" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0518" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0520" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0521" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0523" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0524" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0529" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0530" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0531" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0532" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0534" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0535" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0538" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0539" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0540" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0541" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0543" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0544" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0547" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0548" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0549" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0552" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0553" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0558" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0559" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0560" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0561" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0563" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0564" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="xdx2ixbrl0567" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="xdx2ixbrl0568" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0569" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0570" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0571" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0573" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0578" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_custom_PreferredStockFMember" id="xdx2ixbrl0589" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember" id="xdx2ixbrl1422" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1432" unitRef="USD" xs:nil="true"/>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="duot-20240331.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2024-01-01to2024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-05-10">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-05-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_TechnologyServiceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_TechnologyServiceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</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="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </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="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_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-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-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="From2024-01-012024-03-31_custom_ThreeCustomerMember_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:ThreeCustomerMember</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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ThreeCustomerMember_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:ThreeCustomerMember</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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_CommonStockMember182928046">
      <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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_CommonStockMember182928062">
      <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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-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-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2023-04-15_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-04-15</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-142023-04-15_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>2023-04-14</xbrli:startDate>
        <xbrli:endDate>2023-04-15</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-03_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>2024-02-03</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-02-022024-02-03_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>2024-02-02</xbrli:startDate>
        <xbrli:endDate>2024-02-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-02-022024-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>2024-02-02</xbrli:startDate>
        <xbrli:endDate>2024-02-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-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="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="From2024-01-012024-03-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:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-02-252021-02-26_custom_PurchaseAgreementMember_custom_ConvertibleSeriesCPreferredStockMember">
      <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:ConvertibleSeriesCPreferredStockMember</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="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_ConvertibleSeriesDPreferredStockMember">
      <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:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-09-292022-09-30_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember">
      <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>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-09-29</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember">
      <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>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</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_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember">
      <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>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</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="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-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_ConvertibleSeriesEPreferredStockMember_custom_PurchaseAgreementMember">
      <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>
          <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_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-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="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="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-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>2024-03-31</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="From2022-10-012022-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>2022-10-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-10-012022-12-31_custom_EmployeeStockPurchasePlanMember182930000">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</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="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CommonStockMember_custom_EmployeeStockPurchasePlanMember">
      <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>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CallOptionMember_custom_EmployeeStockPurchasePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:CallOptionMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_PutOptionMember_custom_EmployeeStockPurchasePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:PutOptionMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_EmployeeStockPurchasePlanMember182930109">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_EmployeeStockPurchasePlanMember182930109">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-05-112021-05-12_custom_Plan2021Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2021Member</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="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="AsOf2024-03-31_custom_Plan2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_Plan2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_Plan2021Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2021Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_Plan2021Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2021Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_NonPlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:NonPlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_NonPlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:NonPlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-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_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_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-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="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="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-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-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>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-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>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-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-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-022024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-02</xbrli:startDate>
        <xbrli:endDate>2024-04-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-04-03</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-222024-04-23_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>2024-04-22</xbrli:startDate>
        <xbrli:endDate>2024-04-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-222024-04-23_us-gaap_CommonStockMember">
      <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:startDate>2024-04-22</xbrli:startDate>
        <xbrli:endDate>2024-04-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-292024-04-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>2024-04-29</xbrli:startDate>
        <xbrli:endDate>2024-04-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-292024-04-30_us-gaap_CommonStockMember">
      <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:startDate>2024-04-29</xbrli:startDate>
        <xbrli:endDate>2024-04-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-05-062024-05-07_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>2024-05-06</xbrli:startDate>
        <xbrli:endDate>2024-05-07</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-05-062024-05-07_us-gaap_CommonStockMember">
      <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:startDate>2024-05-06</xbrli:startDate>
        <xbrli:endDate>2024-05-07</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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>UNITED STATES</b></p>

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

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

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

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>FORM <span id="xdx_908_edei--DocumentType_c20240101__20240331_zNrJ7iyJZbJk"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000014" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></p>

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 1%"><span style="font-family: Segoe UI Symbol,sans-serif; font-size: 10pt"><span id="xdx_904_edei--DocumentQuarterlyReport_c20240101__20240331_zW8AdEOiOMO5"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleantrue" id="Fact000015" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span> </span></td>
    <td style="width: 99%"><span style="font-size: 10pt"><b>QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="text-align: center"><span style="font-size: 10pt"><b>For the quarterly period ended <span id="xdx_90D_edei--DocumentPeriodEndDate_c20240101__20240331_zL04zEHSTg5"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:datemonthdayyearen" id="Fact000016" name="dei:DocumentPeriodEndDate">March 31, 2024</ix:nonNumeric></span></b></span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="text-align: center"><span style="font-size: 10pt"><b>OR</b></span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-family: Segoe UI Symbol,sans-serif; font-size: 10pt"><span id="xdx_90F_edei--DocumentTransitionReport_c20240101__20240331_zmuRtHOXuGug"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact000017" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td><span style="font-size: 10pt"><b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center; text-indent: 0.5in"><b>&#160;</b></p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center; text-indent: 0.5in"><span style="font-size: 10pt"><b>For
the transition period from ________________ to ________________</b></span>&#160;</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">Commission file number <span id="xdx_909_edei--EntityFileNumber_c20240101__20240331_zaBcHm03gAVj"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000018" name="dei:EntityFileNumber">000-55497</ix:nonNumeric></span></p>

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

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse">
  <tr>
    <td style="font: 12pt Times New Roman, Times, Serif; width: 100%; text-align: center"><span style="font-size: 14pt"><b><span id="xdx_903_edei--EntityRegistrantName_c20240101__20240331_zTWPnRlxWgb7"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000019" name="dei:EntityRegistrantName">Duos Technologies Group, Inc.</ix:nonNumeric></span></b></span></td></tr>
  <tr>
    <td style="font: 12pt Times New Roman, Times, Serif; text-align: center"><span style="font-size: 8pt"><i>(Exact name of registrant as specified in its charter)</i></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse">
  <tr>
    <td style="font: 12pt Times New Roman, Times, Serif; width: 50%; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_907_edei--EntityIncorporationStateCountryCode_c20240101__20240331_zygzIs1dZTE4"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:stateprovnameen" id="Fact000020" name="dei:EntityIncorporationStateCountryCode">Florida</ix:nonNumeric></span></b></span></td>
    <td style="font: 12pt Times New Roman, Times, Serif; vertical-align: bottom; width: 50%; text-align: center"><span style="font-size: 10pt"><b><span id="xdx_904_edei--EntityTaxIdentificationNumber_c20240101__20240331_zuBdcVkeMr6l"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000021" name="dei:EntityTaxIdentificationNumber">65-0493217</ix:nonNumeric></span></b></span></td></tr>
  <tr>
    <td>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><i>(State or other jurisdiction of</i></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><i>incorporation or organization)</i></p></td>
    <td style="font: 12pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-size: 8pt"><i>(IRS Employer Identification No.)</i></span></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: center"><b><span id="xdx_907_edei--EntityAddressAddressLine1_c20240101__20240331_zuXFpt3ZL7Q5"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000022" name="dei:EntityAddressAddressLine1">7660 Centurion Parkway</ix:nonNumeric></span>, <span id="xdx_90F_edei--EntityAddressAddressLine2_c20240101__20240331_z8FlAzxCd39c"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000023" name="dei:EntityAddressAddressLine2">Suite 100</ix:nonNumeric></span>, <span id="xdx_907_edei--EntityAddressCityOrTown_c20240101__20240331_zrF5UTimTTy9"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000024" name="dei:EntityAddressCityOrTown">Jacksonville</ix:nonNumeric></span>,
<span id="xdx_90D_edei--EntityAddressStateOrProvince_c20240101__20240331_zOgMqcQONgA"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:stateprovnameen" id="Fact000025" name="dei:EntityAddressStateOrProvince">Florida</ix:nonNumeric></span> <span id="xdx_90F_edei--EntityAddressPostalZipCode_c20240101__20240331_z6ddsivLumph"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000026" 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&#160;of&#160;principal&#160;executive&#160;offices)</i></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 id="xdx_90C_edei--CityAreaCode_c20240101__20240331_z2m5dYCU2RZc"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000027" name="dei:CityAreaCode">904</ix:nonNumeric></span>) <span id="xdx_908_edei--LocalPhoneNumber_c20240101__20240331_zAYTgxdHkBtc"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000028" name="dei:LocalPhoneNumber">296-2807</ix:nonNumeric></span></b></p>

<p style="font: 10pt 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; text-indent: 0.5in">&#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; text-indent: 0.5in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; width: 34%; text-align: center"><span style="font-size: 8pt"><b>Title of each class</b></span></td>
    <td style="width: 1%; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 32%; text-align: center; text-indent: 4.15pt"><span style="font-size: 8pt"><b>Trading Symbol(s)</b></span></td>
    <td style="width: 1%; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 32%; text-align: center"><span style="font-size: 8pt"><b>Name of each exchange on which registered</b></span></td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td style="text-align: center"><span style="font-size: 10pt"><b><span id="xdx_902_edei--Security12bTitle_c20240101__20240331_zZpqJo4bnQ97"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000029" name="dei:Security12bTitle">Common Stock, par value $0.001</ix:nonNumeric></span></b></span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt"><b><span id="xdx_907_edei--TradingSymbol_c20240101__20240331_zSzvpGxIPHv8"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000030" name="dei:TradingSymbol">DUOT</ix:nonNumeric></span></b></span></td>
    <td>&#160;</td>
    <td style="text-align: center"><span style="font-size: 10pt"><b>The <span id="xdx_907_edei--SecurityExchangeName_c20240101__20240331_zrxvgQYeKx31"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:exchnameen" id="Fact000031" name="dei:SecurityExchangeName">Nasdaq</ix:nonNumeric></span> Capital Market</b></span></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">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_903_edei--EntityCurrentReportingStatus_c20240101__20240331_zMmBkOFKi2j6"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000032" 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">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Indicate by check mark whether the registrant has submitted electronically
every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the
preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;<span id="xdx_907_edei--EntityInteractiveDataCurrent_c20240101__20240331_zN7lBGzWnR7d"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000033" 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">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Indicate by check mark whether the registrant is a large accelerated filer,
an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See 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">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 34%"><span style="font-size: 10pt">Large accelerated filer&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></span></td>
    <td style="width: 33%">&#160;</td>
    <td style="width: 33%"><span style="font-size: 10pt">Accelerated filer&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></span></td></tr>
  <tr>
    <td><span style="font-size: 10pt"><span id="xdx_902_edei--EntityFilerCategory_c20240101__20240331_zCKudNew8MK5"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:entityfilercategoryen" id="Fact000034" name="dei:EntityFilerCategory">Non-accelerated filer</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9746;</span></span></td>
    <td>&#160;</td>
    <td><span style="font-size: 10pt">Smaller reporting company&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90A_edei--EntitySmallBusiness_c20240101__20240331_zXNLjMhnNkf5"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleantrue" id="Fact000035" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></span></td></tr>
  <tr>
    <td><span style="font-size: 10pt">Emerging growth company&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90F_edei--EntityEmergingGrowthCompany_c20240101__20240331_zac54V0qdIz7"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact000036" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span>&#160;</span></td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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 Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">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_905_edei--EntityShellCompany_dbF_c20240101__20240331_zkVyOnI84Qsi"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact000037" name="dei:EntityShellCompany">&#9746;</ix:nonNumeric></span></span></p>

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

<p style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0">As of May 10, 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_c20240510_zO6MVXYEc2j9"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-05-10" id="Fact000038" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,531,986</ix:nonFraction></span>.</p>

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

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

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


<!-- Field: Page; Sequence: 1 -->
    <div style="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: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"></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: center">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="vertical-align: top; width: 10%; text-align: center">&#160;</td>
    <td style="vertical-align: top; width: 85%; text-align: center"><span style="font-size: 10pt"><b>PART I &#8211; FINANCIAL INFORMATION</b></span></td>
    <td style="vertical-align: bottom; width: 5%">&#160;</td></tr>
  <tr>
    <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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 1.</span></td>
    <td style="vertical-align: top"><a href="#a_001"><span style="font-size: 10pt">Financial Statements</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">1</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 2.</span></td>
    <td style="vertical-align: top"><a href="#a_002"><span style="font-size: 10pt">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">28</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 3.</span></td>
    <td style="vertical-align: top"><a href="#a_003"><span style="font-size: 10pt">Quantitative and Qualitative Disclosures about Market Risk</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">36</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 4.</span></td>
    <td style="vertical-align: top"><a href="#a_004"><span style="font-size: 10pt">Controls and Procedures</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">36</span></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: #CCEEFF">
    <td style="vertical-align: top; text-align: center">&#160;</td>
    <td style="vertical-align: top; text-align: center"><span style="font-size: 10pt"><b>PART II &#8211; OTHER INFORMATION</b></span></td>
    <td style="vertical-align: bottom; text-align: center">&#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; text-align: center">&#160;</td></tr>
  <tr style="background-color: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 1.</span></td>
    <td style="vertical-align: top"><a href="#a_005"><span style="font-size: 10pt">Legal Proceedings</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">37</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 1A.</span></td>
    <td style="vertical-align: top"><a href="#a_006"><span style="font-size: 10pt">Risk Factors</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">37</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 2.</span></td>
    <td style="vertical-align: top"><a href="#a_007"><span style="font-size: 10pt">Unregistered Sales of Equity Securities and Use of Proceeds</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">37</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 3.</span></td>
    <td style="vertical-align: top"><a href="#a_008"><span style="font-size: 10pt">Defaults Upon Senior Securities</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">37</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 4.</span></td>
    <td style="vertical-align: top"><a href="#a_009"><span style="font-size: 10pt">Mine Safety Disclosures</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">37</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 5.</span></td>
    <td style="vertical-align: top"><a href="#a_010"><span style="font-size: 10pt">Other Information</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">37</span></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: #CCEEFF">
    <td style="vertical-align: top"><span style="font-size: 10pt">Item 6.</span></td>
    <td style="vertical-align: top"><a href="#a_011"><span style="font-size: 10pt">Exhibits</span></a></td>
    <td style="vertical-align: bottom; text-align: center"><span style="font-size: 10pt">38</span></td></tr>
  </table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; background-color: #CCFFCC; border-collapse: collapse">
  <tr style="background-color: #CCEEFF">
    <td style="vertical-align: top; width: 95%"><a href="#a_012"><span style="font-size: 10pt">SIGNATURES</span></a></td>
    <td style="vertical-align: bottom; width: 5%; text-align: center"><span style="font-size: 10pt">39</span></td></tr>
  </table>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&#160;</p>

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

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


<!-- Field: Page; Sequence: 2; 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: 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><span id="a_001"></span>PART I FINANCIAL INFORMATION</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"><b>Item 1. Financial Statements.</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: 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</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_30E_111_ztHH2kQvdWC" summary="xdx: Statement - CONSOLIDATED BALANCE SHEETS" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_490_20240331" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_497_20231231" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-decoration: line-through; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; 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">March
    31,</span></td><td style="text-align: center; padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; 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">December
    31,</span></td><td style="text-align: center; padding-bottom: 1pt; 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="text-align: center; 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">2024</span></td><td style="text-align: center; padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; 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="text-align: center; padding-bottom: 1pt; 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="text-align: center; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td style="font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; text-align: center"><span style="font-size: 8pt">(Unaudited)</span></td><td style="font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40E_eus-gaap--AssetsAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="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 style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AssetsCurrentAbstract_i01B" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="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_zwuKxhs4shw6" style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; padding-left: 10pt">&#160;Cash</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:Cash" contextRef="AsOf2024-03-31" id="Fact000046" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,977,592</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:Cash" contextRef="AsOf2023-12-31" id="Fact000047" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,441,842</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccountsReceivableNetCurrent_i02I_pp0p0_maACzs4d_zBrUEVzDMuJ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Accounts receivable, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-03-31" id="Fact000049" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">596,090</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:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" id="Fact000050" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,462,463</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ContractWithCustomerAssetNetCurrent_i02I_pp0p0_maACzs4d_zsdzAZSMyC3a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Contract assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2024-03-31" id="Fact000052" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">912,046</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:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2023-12-31" id="Fact000053" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">641,947</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--InventoryNet_i02I_pp0p0_maACzs4d_z993h0dd830f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">&#160;Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-03-31" id="Fact000055" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,502,337</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:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000056" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,526,165</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i02I_pp0p0_maACzs4d_zQjwL4v0bICc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Prepaid expenses and other current assets</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:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2024-03-31" id="Fact000058" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">398,856</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:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000059" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">184,478</ix:nonFraction></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: 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_zKIYyhuBVC3c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Current Assets</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:AssetsCurrent" contextRef="AsOf2024-03-31" id="Fact000061" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,386,921</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:AssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000062" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,256,895</ix:nonFraction></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: 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_zA1cIurtF7mi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31" id="Fact000064" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">645,342</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:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000065" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">726,507</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i02I_pp0p0_maAzfvW_zA6OG1Kj5xD6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Operating lease right of use asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-03-31" id="Fact000067" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,289,807</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000068" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,373,155</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--SecurityDeposit_i02I_pp0p0_maAzfvW_zvclWxqcn5sh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Security deposit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2024-03-31" id="Fact000070" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">550,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="us-gaap:SecurityDeposit" contextRef="AsOf2023-12-31" id="Fact000071" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">550,000</ix:nonFraction></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: 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: White">
    <td style="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_zoL7kIJ1BwHa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Note Receivable, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetNoncurrent" contextRef="AsOf2024-03-31" id="Fact000076" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">155,625</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:NotesAndLoansReceivableNetNoncurrent" contextRef="AsOf2023-12-31" id="Fact000077" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">153,750</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_pp0p0_maOAzuBB_zPmuUOD67rW1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Patents and trademarks, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2024-03-31" id="Fact000079" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">127,357</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:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000080" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">129,140</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer_i01I_pp0p0_maOAzuBB_zZ4tEE7LTQ47" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Software development costs, net</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:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" contextRef="AsOf2024-03-31" id="Fact000082" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">587,388</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="duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" contextRef="AsOf2023-12-31" id="Fact000083" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">652,838</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAssets_i01TI_pp0p0_mtOAzuBB_maAzfvW_zOSdwxxS5ZIc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Other Assets</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:OtherAssets" contextRef="AsOf2024-03-31" id="Fact000085" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">870,370</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:OtherAssets" contextRef="AsOf2023-12-31" id="Fact000086" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">935,728</ix:nonFraction></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: 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_zi8vymRCWMZ3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">&#160;TOTAL 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:Assets" contextRef="AsOf2024-03-31" id="Fact000088" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,742,440</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:Assets" contextRef="AsOf2023-12-31" id="Fact000089" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,842,285</ix:nonFraction></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="font-weight: bold; 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_40C_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">&#160;LIABILITIES AND STOCKHOLDERS' EQUITY</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: White">
    <td style="text-align: left">&#160;CURRENT 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_40B_eus-gaap--AccountsPayableCurrent_i01I_pp0p0_maLCzzG9_zpNvnOXi1Mjf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-03-31" id="Fact000097" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">179,916</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000098" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">595,634</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OtherNotesPayableCurrent_i01I_pp0p0_maLCzzG9_zb53AJUQa88i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Notes payable - financing agreements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2024-03-31" id="Fact000100" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">183,763</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:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000101" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">41,976</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--AccruedLiabilitiesCurrent_i01I_pp0p0_maLCzzG9_znuuYG99Yl0e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-03-31" id="Fact000103" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">240,483</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:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000104" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">164,113</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_pp0p0_maLCzzG9_z22mUr0S87Kj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Operating lease obligations-current portion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-03-31" id="Fact000106" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">783,944</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000107" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">779,087</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ContractWithCustomerLiabilityCurrent_i01I_pp0p0_maLCzzG9_zRueLAde4sta" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Contract liabilities</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:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2024-03-31" id="Fact000109" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,692,940</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:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000110" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,666,243</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; 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--LiabilitiesCurrent_i01TI_pp0p0_mtLCzzG9_maLzlh5_zC9TcoqOOlv4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Total Current Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-03-31" id="Fact000112" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,081,046</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:LiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000113" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,247,053</ix:nonFraction></td><td style="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_402_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_pp0p0_maLzlh5_zYKAAfjo0uJa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Operating lease obligations, less 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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-03-31" id="Fact000115" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,141,555</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000116" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,228,718</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: 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--Liabilities_i01TI_pp0p0_mtLzlh5_maLASEzsbX_z6FTNDascGRg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Liabilities</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:Liabilities" contextRef="AsOf2024-03-31" id="Fact000118" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,222,601</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:Liabilities" contextRef="AsOf2023-12-31" id="Fact000119" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,475,771</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: 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_401_eus-gaap--CommitmentsAndContingencies_i01I_pp0p0_maLASEzsbX_zLDIT8bvFHMj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;Commitments and Contingencies (Note 4)</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: xdx2ixbrl0121">&#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: xdx2ixbrl0122">&#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">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="text-align: left">&#160;STOCKHOLDERS' EQUITY:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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_zooTtpRugrd9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Preferred stock: $<span id="xdx_902_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331_zTLynuevrbg6" title="Preferred stock, par value"><span id="xdx_905_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231_zE93AtvLVlf5" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31" id="Fact000130" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000132" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> par value, <span id="xdx_906_eus-gaap--PreferredStockSharesAuthorized_c20240331_zEpmY6zOzyNf" title="Preferred stock, shares authorized"><span id="xdx_905_eus-gaap--PreferredStockSharesAuthorized_c20231231_z10Ki7JqjpX" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2024-03-31" id="Fact000134" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000136" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized, <span id="xdx_90B_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331_zbleCRcV31Li" title="Preferred stock, shares designated"><span id="xdx_900_ecustom--PreferredStockSharesAvailableToBeDesignated_c20231231_zscNLM2J9pAc" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31" id="Fact000138" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31" id="Fact000140" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,441,000</ix:nonFraction></ix:nonFraction></span></span> shares available to be designated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="text-align: left; text-indent: -10pt; padding-left: 30pt">Series A redeemable convertible preferred stock, $<span id="xdx_903_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_902_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000142" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000144" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10</ix:nonFraction></ix:nonFraction></span></span>  stated value
    per share,<br/> <span id="xdx_90D_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_zRvvg4498E1c" title="Preferred stock, shares designated"><span id="xdx_90F_ecustom--PreferredStockSharesAvailableToBeDesignated_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000146" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000148" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">500,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><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"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000150" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000152" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000154" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000156" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> issued and outstanding at March 31, 2024 and December 31, 2023, respectively,
    convertible into common stock at $<span id="xdx_90B_eus-gaap--PreferredStockRedemptionPricePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90A_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000158" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000160" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.30</ix:nonFraction></ix:nonFraction></span></span> per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_zExHc1WBCvqj" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000162" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_z3QZCifKTWeb" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000164" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -10pt; padding-left: 30pt">Series B convertible preferred stock, $<span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_903_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000166" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000168" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per
    share,&#160;<span id="xdx_90C_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zxbvQCzAsN75" title="Preferred stock, shares designated"><span id="xdx_901_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zUoUE4fF5Qq5" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000170" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000172" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_908_eus-gaap--PreferredStockSharesIssued_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90D_eus-gaap--PreferredStockSharesOutstanding_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000174" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000176" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000178" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000180" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> issued&#160;and outstanding at March 31, 2024 and December 31, 2023,
    respectively, convertible into common stock at $<span id="xdx_90C_eus-gaap--PreferredStockRedemptionPricePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90B_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000182" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000184" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7</ix:nonFraction></ix:nonFraction></span></span> per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zWcxQAauelEl" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000186" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z3CT1qgySgW1" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000188" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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; text-indent: -10pt; padding-left: 30pt">Series C convertible preferred stock, $<span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000190" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000192" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per
    share,&#160;<span id="xdx_901_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zKbXEoYgkL8i" title="Preferred stock, shares designated"><span id="xdx_902_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zU8iUwRc1jSj" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000194" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000196" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_90F_eus-gaap--PreferredStockSharesIssued_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000198" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000200" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> and <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 outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000202" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000204" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> issued&#160; and outstanding at March 31, 2024 and December 31, 2023,
    respectively, convertible into common stock at $<span id="xdx_90D_eus-gaap--PreferredStockRedemptionPricePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90C_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000206" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000208" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.50</ix:nonFraction></ix:nonFraction></span></span> per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zn0zTmjilJV4" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000210" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zZefkon99f5k" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000212" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -10pt; text-align: left; padding-left: 30pt">Series D convertible preferred stock, $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000214" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000216" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share,&#160;<span id="xdx_902_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zNfXJQVD9xGi" title="Preferred stock, shares designated"><span id="xdx_902_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zHaA8sNNeSOk" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000218" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000220" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_90E_eus-gaap--PreferredStockSharesIssued_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000222" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000224" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,919</ix:nonFraction></ix:nonFraction></span></span> and <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="Fact000226" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000228" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></ix:nonFraction></span></span> issued&#160; and outstanding at March 31, 2024 and December 31, 2023, respectively, convertible into common stock at $<span id="xdx_90E_eus-gaap--PreferredStockRedemptionPricePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90D_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000230" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000232" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3</ix:nonFraction></ix:nonFraction></span></span> per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zcIth8whOFV4" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000234" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zfDCTF47Y4t7" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000236" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1</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-indent: -10pt; text-align: left; padding-left: 30pt">Series E convertible preferred stock, $<span id="xdx_90F_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000238" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000240" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share, <span id="xdx_90C_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zxKZPbfeZX7h" title="Preferred stock, shares designated"><span id="xdx_90F_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zom8BDtZoana" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000242" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000244" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">30,000</ix:nonFraction></ix:nonFraction></span></span> shares
    designated; <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90D_eus-gaap--PreferredStockSharesOutstanding_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000246" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000248" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">13,625</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90E_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000250" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000252" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">11,500</ix:nonFraction></ix:nonFraction></span></span> issued&#160;and outstanding at March 31, 2024 and December 31, 2023, respectively,&#160;convertible
    into common stock at $<span id="xdx_90F_eus-gaap--PreferredStockRedemptionPricePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90E_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000254" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000256" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3</ix:nonFraction></ix:nonFraction></span></span> per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zQKIiNzvonge" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000258" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14</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--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zrDT26vBLf6k" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000260" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -10pt; text-align: left; padding-left: 30pt">Series F convertible preferred stock, $<span id="xdx_908_eus-gaap--PreferredStockParOrStatedValuePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_90F_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000262" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000264" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share,&#160;<span id="xdx_900_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zTGT1oSwHKC7" title="Preferred stock, shares designated"><span id="xdx_90B_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zylUf5xyoWo" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000266" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000268" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000270" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000272" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90D_eus-gaap--PreferredStockSharesOutstanding_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000274" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000276" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> issued&#160;and outstanding at March 31, 2024 and December 31, 2023, respectively,&#160;convertible into common stock at $<span id="xdx_901_eus-gaap--PreferredStockRedemptionPricePerShare_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90F_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000278" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000280" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.20</ix:nonFraction></ix:nonFraction></span></span> share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAzTrtjS3b2e" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000282" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--PreferredStockValue_iI_pp0p0_d0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z4awbR3Uw631" title="Preferred stock, value" style="text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000284" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--CommonStockValue_iI_pp0p0_maTSPzuXd_zY3IjdSJuF93" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -10pt; text-align: left; padding-left: 30pt">Common stock: $<span id="xdx_903_eus-gaap--CommonStockParOrStatedValuePerShare_c20240331_pdd" title="Common stock, par value"><span id="xdx_902_eus-gaap--CommonStockParOrStatedValuePerShare_c20231231_pdd" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31" id="Fact000289" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000291" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_900_eus-gaap--CommonStockSharesAuthorized_c20240331_pdd" title="Common stock, shares authorized"><span id="xdx_908_eus-gaap--CommonStockSharesAuthorized_c20231231_pdd" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-03-31" id="Fact000293" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000295" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">500,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized,
    <span id="xdx_904_eus-gaap--CommonStockSharesIssued_c20240331_pdd" title="Common stock, shares issued"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-03-31" id="Fact000297" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,315,318</ix:nonFraction></span> and <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="Fact000299" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,306,663</ix:nonFraction></span> shares issued, <span id="xdx_90E_eus-gaap--CommonStockSharesOutstanding_c20240331_pdd" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-03-31" id="Fact000301" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,313,994</ix:nonFraction></span> and <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="Fact000303" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,305,339</ix:nonFraction></span> shares outstanding at March 31, 2024 and December 31, 2023,
    respectively</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-03-31" id="Fact000286" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,315</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:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000287" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,306</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AdditionalPaidInCapitalCommonStock_iI_pp0p0_maTSPzuXd_zNNeYmhkY0ik" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Additional paid-in-capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2024-03-31" id="Fact000305" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">72,025,821</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:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2023-12-31" id="Fact000306" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">69,120,199</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RetainedEarningsAccumulatedDeficit_iI_pp0p0_maTSPzuXd_zbblcVvy2Pol" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Accumulated deficit</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:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-03-31" id="Fact000308" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">66,355,861</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:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000309" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">63,603,552</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_401_ecustom--TotalStockAndPaidInCapitalAndRetainedEarningsDeficit_iTI_pp0p0_mtTSPzuXd_maSEzm3Z_zTeMTlLFdJNk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Sub-total</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" contextRef="AsOf2024-03-31" id="Fact000311" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,677,291</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:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" contextRef="AsOf2023-12-31" id="Fact000312" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,523,966</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--TreasuryStockCommonValue_iNI_pp0p0_di_msSEzm3Z_znRY1sIT9UD9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
  <td style="text-align: left; padding-left: 10pt">&#160;Less:&#160;&#160;Treasury stock (<span id="xdx_90D_eus-gaap--TreasuryStockCommonShares_c20240331_pdd" title="Treasury stock, common shares"><span id="xdx_90D_eus-gaap--TreasuryStockCommonShares_c20231231_pdd" title="Treasury stock, common shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2024-03-31" id="Fact000317" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" id="Fact000319" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,324</ix:nonFraction></ix:nonFraction></span></span> shares of common stock<br/>
&#160;at March 31, 2024 and December 31, 2023)</td>
  <td>&#160;<br/>
&#160;</td>
  <td style="text-align: left">&#160;<br/>
&#160;</td>
  <td style="text-align: right">&#160;<br/>
(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2024-03-31" id="Fact000314" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,452</ix:nonFraction></td>
  <td style="text-align: left">&#160;<br/>
)</td>
  <td>&#160;<br/>
&#160;</td>
  <td style="text-align: left">&#160;<br/>
&#160;</td>
  <td style="text-align: right">&#160;<br/>
(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2023-12-31" id="Fact000315" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,452</ix:nonFraction></td>
  <td style="text-align: left">&#160;<br/>
)</td>
</tr>
<tr id="xdx_40D_eus-gaap--StockholdersEquity_iTI_pp0p0_mtSEzm3Z_maLASEzsbX_zUaMzFmBmhed" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">&#160;Total Stockholders' Equity</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:StockholdersEquity" contextRef="AsOf2024-03-31" id="Fact000321" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,519,839</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:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000322" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,366,514</ix:nonFraction></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: 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--LiabilitiesAndStockholdersEquity_iTI_pp0p0_mtLASEzsbX_z3Kz1nbgPkQb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">&#160;Total Liabilities and Stockholders' Equity</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:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-03-31" id="Fact000324" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,742,440</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:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000325" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,842,285</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>&#160;</b>&#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">See accompanying condensed notes to the unaudited consolidated
financial statements.</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"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 3 -->
    <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 0 8pt"><b></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>CONSOLIDATED STATEMENTS OF OPERATIONS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</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">&#160;&#160;&#160;</p>


<table cellpadding="0" cellspacing="0" id="xdx_305_113_z0B6h27xeZjd" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_494_20240101_20240331" 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_492_20230101_20230331" 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: right"><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="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0"><span style="font-size: 8pt">For
                                            the Three Months Ended</span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"><span style="font-size: 8pt">March
                                            31,</span></p></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right"><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">2024</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">2023</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 style="text-align: right">&#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_40B_eus-gaap--RevenuesAbstract_iB_zC73HJMrHKc6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;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="width: 66%; text-align: left; padding-left: 10pt">&#160;Technology systems</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--Revenues_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--TechnologyServiceMember_z0ELj0KnJJvl" title="Total Revenues" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-03-31_us-gaap_TechnologyServiceMember" id="Fact000330" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">269,855</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_988_eus-gaap--Revenues_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--TechnologyServiceMember_z5w20WC5K8nc" title="Total Revenues" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-03-31_us-gaap_TechnologyServiceMember" id="Fact000332" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,827,764</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; padding-bottom: 1pt; padding-left: 10pt">&#160;Services and consulting</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--Revenues_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_z20nF1lZEM8c" title="Total Revenues" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-03-31_us-gaap_ServiceOtherMember" id="Fact000334" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">800,825</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_988_eus-gaap--Revenues_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_za0YVQFiYtdb" title="Total Revenues" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-03-31_us-gaap_ServiceOtherMember" id="Fact000336" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">816,524</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; 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_zqSJw3fN10W1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Revenues</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:Revenues" contextRef="From2024-01-01to2024-03-31" id="Fact000338" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,070,680</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:Revenues" contextRef="From2023-01-012023-03-31" id="Fact000339" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,644,288</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: 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>&#160;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="text-align: left; padding-left: 10pt">&#160;Technology systems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--CostOfRevenue_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--TechnologyServiceMember_zUP7JVZDIw0l" title="Total Cost of Revenues" style="text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2024-01-012024-03-31_us-gaap_TechnologyServiceMember" id="Fact000344" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">583,437</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--CostOfRevenue_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--TechnologyServiceMember_zmncwu3b6Tik" title="Total Cost of Revenues" style="text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-012023-03-31_us-gaap_TechnologyServiceMember" id="Fact000346" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,767,209</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; padding-bottom: 1pt; padding-left: 10pt">&#160;Services and consulting</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--CostOfRevenue_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_zrUYlG2catPf" title="Total Cost of Revenues" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2024-01-012024-03-31_us-gaap_ServiceOtherMember" id="Fact000348" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">392,611</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_981_eus-gaap--CostOfRevenue_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_zmODub8JppQl" title="Total Cost of Revenues" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-012023-03-31_us-gaap_ServiceOtherMember" id="Fact000350" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">339,907</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: 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_zqhqlJGij7af" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Cost of Revenues</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:CostOfRevenue" contextRef="From2024-01-01to2024-03-31" id="Fact000352" format="ixt:numdotdecimal" decimals="0" unitRef="USD">976,048</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:CostOfRevenue" contextRef="From2023-01-012023-03-31" id="Fact000353" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,107,116</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: 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_z5k2EEgfw9pc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">&#160;GROSS MARGIN</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:GrossProfit" contextRef="From2024-01-01to2024-03-31" id="Fact000355" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">94,632</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:GrossProfit" contextRef="From2023-01-012023-03-31" id="Fact000356" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">537,172</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: 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="text-align: left">&#160;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_zMcCBcoW1Ov6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">&#160;Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000361" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">553,486</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:SellingAndMarketingExpense" contextRef="From2023-01-012023-03-31" id="Fact000362" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">307,577</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ResearchAndDevelopmentExpense_i01_pp0p0_maOCAEzmyR_zCRfMCPfTPXf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">&#160;Research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000364" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">382,142</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:ResearchAndDevelopmentExpense" contextRef="From2023-01-012023-03-31" id="Fact000365" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">404,885</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--GeneralAndAdministrativeExpense_i01_pp0p0_maOCAEzmyR_zEFqCca4K03f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;General and Administration</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:GeneralAndAdministrativeExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000367" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,920,050</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:GeneralAndAdministrativeExpense" contextRef="From2023-01-012023-03-31" id="Fact000368" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,971,508</ix:nonFraction></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: 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_z1B0zBvNbEPf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Operating Expenses</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:OperatingCostsAndExpenses" contextRef="From2024-01-01to2024-03-31" id="Fact000370" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,855,678</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:OperatingCostsAndExpenses" contextRef="From2023-01-012023-03-31" id="Fact000371" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,683,970</ix:nonFraction></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: 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_zvl1kNiwTMck" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;LOSS FROM OPERATIONS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000373" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">2,761,046</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:OperatingIncomeLoss" contextRef="From2023-01-012023-03-31" id="Fact000374" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">2,146,798</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; 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="text-align: left">&#160;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_zcDPd7gQ66l3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">&#160;&#160;&#160;&#160;Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000379" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">445</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:InterestExpense" contextRef="From2023-01-012023-03-31" id="Fact000380" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,180</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--OtherNonoperatingIncomeExpense_i01_pp0p0_maNIEzzDs_zKtXfuy2jHbb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">&#160;&#160;&#160;&#160;Other income, net</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:OtherNonoperatingIncomeExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000382" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,182</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:OtherNonoperatingIncomeExpense" contextRef="From2023-01-012023-03-31" id="Fact000383" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,295</ix:nonFraction></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: 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_zsUERKkRi6m5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">&#160;Total Other Income (Expenses)</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:NonoperatingIncomeExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000385" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,737</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:NonoperatingIncomeExpense" contextRef="From2023-01-012023-03-31" id="Fact000386" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,115</ix:nonFraction></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="font-weight: bold; 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_ziKusm9CJoG7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">&#160;NET LOSS</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:NetIncomeLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000388" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">2,752,309</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:NetIncomeLoss" contextRef="From2023-01-012023-03-31" id="Fact000389" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">2,143,683</ix:nonFraction></td><td style="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="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: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">&#160;Basic and Diluted Net Loss Per Share</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 id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20240101__20240331_zgMQIgVNuu22" title="Basic Net Loss Per Share" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_"><span id="xdx_907_eus-gaap--EarningsPerShareDiluted_c20240101__20240331_z5M5BsrGIcW4" title="Diluted Net Loss Per Share" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-01to2024-03-31" id="Fact000391" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-03-31" id="Fact000393" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares">0.38</ix:nonFraction></ix:nonFraction></span></span></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"><span id="xdx_906_eus-gaap--EarningsPerShareBasic_c20230101__20230331_zioWXzo4Kbji" title="Basic Net Loss Per Share" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_"><span id="xdx_904_eus-gaap--EarningsPerShareDiluted_c20230101__20230331_zY9DkdbVB1m4" title="Diluted Net Loss Per Share" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-03-31" id="Fact000395" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-012023-03-31" id="Fact000397" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares">0.30</ix:nonFraction></ix:nonFraction></span></span></td><td style="padding-bottom: 2.5pt; text-align: left">)</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 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="padding-bottom: 2.5pt">&#160;Weighted Average Shares-Basic and Diluted</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_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20240101__20240331_z9eA2et97YDk" title="Weighted Average Shares-Basic" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_"><span id="xdx_90F_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_c20240101__20240331_zuDpFQ49eU2e" title="Weighted Average Shares-Diluted" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-01to2024-03-31" id="Fact000399" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-03-31" id="Fact000401" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,306,949</ix:nonFraction></ix:nonFraction></span></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 style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_902_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20230101__20230331_zCO3EvV0J47d" title="Weighted Average Shares-Basic" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_"><span id="xdx_906_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_c20230101__20230331_zYxrKXrzuVVl" title="Weighted Average Shares-Diluted" class="xdx_phnt_U3RhdGVtZW50IC0gQ09OU09MSURBVEVEIFNUQVRFTUVOVFMgT0YgT1BFUkFUSU9OUyAoVW5hdWRpdGVkKQA_"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-03-31" id="Fact000403" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-012023-03-31" id="Fact000405" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,156,876</ix:nonFraction></ix:nonFraction></span></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: 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">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying condensed notes to the unaudited 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: 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 -->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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;&#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>STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>For the Three Months Ended March 31, 2024 and 2023</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</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_304_114_z0vEqLp2c253" summary="xdx: Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BF_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockDMember_z2gOxfxFvvH3" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B6_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockEMember_zkai6rdo0gii" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockFMember_zy5KzPTENio1" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zp6ifFN5UrXa" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B5_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_z3R916UGQBMf" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B6_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_z3inheAFVKXl" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--TreasuryStockCommonMember_znIoOe93ebF8" style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_4BE_zPJ8NO2RTIrd" style="text-align: center; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="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"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock D</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock E</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock F</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font-weight: bold; text-align: center"><span style="font-size: 8pt">Common Stock</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-weight: bold; text-align: center"><span style="font-size: 8pt">Additional</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-weight: bold; text-align: center"><span style="font-size: 8pt">Accumulated</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="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">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">&#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_436_c20230101__20230331_eus-gaap--StockholdersEquity_iS_zC67jFZ6RTLj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 52%; text-align: left">Balance December 31, 2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zKG4y9CKpZq5" title="Beginning balance, shares" style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockDMember" id="Fact000416" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</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="AsOf2022-12-31_custom_PreferredStockDMember" id="Fact000407" 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_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zepIoyeDSIV6" title="Beginning balance, shares" style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0418">&#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: xdx2ixbrl0408">&#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_982_eus-gaap--SharesOutstanding_iS_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zpGbwjXM90zh" title="Beginning balance, shares" style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0420">&#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: xdx2ixbrl0409">&#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_98B_eus-gaap--SharesOutstanding_iS_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zl6kq37PnGIg" title="Beginning balance, shares" style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000422" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,156,876</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="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000410" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,156</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="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000411" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,562,600</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="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000412" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">52,361,834</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="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember" id="Fact000413" 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="AsOf2022-12-31" id="Fact000414" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,050,471</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></tr>
  <tr id="xdx_403_ecustom--SeriesEPreferredStockIssued_za0fwXGI3Ah9" 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: xdx2ixbrl0424">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--SeriesEPreferredStockIssuedShares_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zhubVqG6dUa3" title="Series E preferred stock issued, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesEPreferredStockIssuedShares" contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember" id="Fact000433" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,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:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember" id="Fact000425" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4</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: xdx2ixbrl0426">&#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: xdx2ixbrl0427">&#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-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000428" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,999,996</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: xdx2ixbrl0429">&#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: xdx2ixbrl0430">&#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-03-31" id="Fact000431" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,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></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zWdZFMpcd3T9" 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: xdx2ixbrl0435">&#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: xdx2ixbrl0436">&#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: xdx2ixbrl0437">&#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: xdx2ixbrl0438">&#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-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000439" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,128</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: xdx2ixbrl0440">&#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: xdx2ixbrl0441">&#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-03-31" id="Fact000442" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,128</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></tr>
  <tr id="xdx_40F_eus-gaap--PaymentsOfStockIssuanceCosts_iN_di_z0dFK4xZ19uf" 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: xdx2ixbrl0444">&#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: xdx2ixbrl0445">&#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: xdx2ixbrl0446">&#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: xdx2ixbrl0447">&#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-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000448" format="ixt:numdotdecimal" decimals="0" unitRef="USD">299,145</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: xdx2ixbrl0449">&#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: xdx2ixbrl0450">&#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-03-31" id="Fact000451" format="ixt:numdotdecimal" decimals="0" unitRef="USD">299,145</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></tr>
  <tr id="xdx_408_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_zL3ZToop1Bf5" 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: xdx2ixbrl0453">&#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: xdx2ixbrl0454">&#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: xdx2ixbrl0455">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbKAZe4laJqa" title="Stock issued for services, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="Fact000462" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,463</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-03-31_us-gaap_CommonStockMember" id="Fact000456" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12</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-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000457" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,488</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: xdx2ixbrl0458">&#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: xdx2ixbrl0459">&#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-012023-03-31" id="Fact000460" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,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></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_z2mTF76CK7B2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Net loss for the three months ended March 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: xdx2ixbrl0464">&#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: xdx2ixbrl0465">&#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: xdx2ixbrl0466">&#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: xdx2ixbrl0467">&#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: xdx2ixbrl0468">&#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-03-31_us-gaap_RetainedEarningsMember" id="Fact000469" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,143,683</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: xdx2ixbrl0470">&#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-03-31" id="Fact000471" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,143,683</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: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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_439_c20230101__20230331_eus-gaap--StockholdersEquity_iE_zJwpnoLrQJSf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance March 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--SharesOutstanding_iE_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zXcOfStTEjpi" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-03-31_custom_PreferredStockDMember" id="Fact000482" 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-03-31_custom_PreferredStockDMember" id="Fact000473" 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_983_eus-gaap--SharesOutstanding_iE_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_z5b1JF7z3Jqj" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-03-31_custom_PreferredStockEMember" id="Fact000484" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,000</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-03-31_custom_PreferredStockEMember" id="Fact000474" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4</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_981_eus-gaap--SharesOutstanding_iE_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zKw4fWhZsPk8" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0486">&#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: xdx2ixbrl0475">&#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_981_eus-gaap--SharesOutstanding_iE_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zLoNVJqUKZI8" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" id="Fact000488" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,169,339</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-03-31_us-gaap_CommonStockMember" id="Fact000476" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,168</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-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000477" format="ixt:numdotdecimal" decimals="0" unitRef="USD">60,371,067</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-03-31_us-gaap_RetainedEarningsMember" id="Fact000478" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">54,505,517</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-03-31_us-gaap_TreasuryStockCommonMember" id="Fact000479" 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-03-31" id="Fact000480" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,715,271</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></tr>
  <tr id="xdx_430_c20240101__20240331_eus-gaap--StockholdersEquity_iS_zN8IVfzGPsh8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zzUFj49uFhfh" title="Beginning balance, shares" style="text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockDMember" id="Fact000499" 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">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockDMember" id="Fact000490" 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 id="xdx_986_eus-gaap--SharesOutstanding_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zvLuyFIc47Sk" title="Beginning balance, shares" style="text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockEMember" id="Fact000501" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">11,500</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockEMember" id="Fact000491" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12</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--SharesOutstanding_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zQwfXbsA0DRb" title="Beginning balance, shares" 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">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0492">&#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--SharesOutstanding_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zSU2hJBnp8Xl" title="Beginning balance, shares" style="text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000505" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,306,663</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000493" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,306</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000494" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,120,199</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000495" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">63,603,552</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember" id="Fact000496" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">157,452</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:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000497" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,366,514</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></tr>
  <tr id="xdx_403_ecustom--SeriesDPreferredStockIssued_iP3us-gaap--SharesOutstanding_zn5ZZRfXfxS9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series D preferred stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--SeriesDPreferredStockIssuedShares_iP3custom--SeriesDPreferredStockIssued_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zAGf5qeX1TP9" title="Series D preferred stock issued, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesDPreferredStockIssuedShares" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="Fact000516" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">620</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:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember" id="Fact000507" 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: 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"><ix:nonFraction name="duot:SeriesDPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000511" format="ixt:numdotdecimal" decimals="0" unitRef="USD">619,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: xdx2ixbrl0512">&#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: xdx2ixbrl0513">&#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:SeriesDPreferredStockIssued" contextRef="From2024-01-01to2024-03-31" id="Fact000514" format="ixt:numdotdecimal" decimals="0" unitRef="USD">620,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></tr>
  <tr id="xdx_40A_ecustom--SeriesEPreferredStockIssued_zVqNFV77KKv8" 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: xdx2ixbrl0518">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SeriesEPreferredStockIssuedShares_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zYutH4y2yuQl" title="Series E preferred stock issued, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesEPreferredStockIssuedShares" contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember" id="Fact000527" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,125</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="From2024-01-012024-03-31_custom_PreferredStockEMember" id="Fact000519" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2</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: 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"><ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000522" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,125,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"><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"><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"><ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2024-01-01to2024-03-31" id="Fact000525" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,125,002</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></tr>
  <tr id="xdx_40A_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_z8EQZCMBvK15" 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: xdx2ixbrl0529">&#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: xdx2ixbrl0530">&#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: 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"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000533" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,204</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: 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"><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 style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-01to2024-03-31" id="Fact000536" format="ixt:numdotdecimal" decimals="0" unitRef="USD">141,204</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></tr>
  <tr id="xdx_404_eus-gaap--PaymentsOfStockIssuanceCosts_iN_di_z3y8te8wXhFd" 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: 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">&#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: xdx2ixbrl0539">&#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: xdx2ixbrl0540">&#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: xdx2ixbrl0541">&#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="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000542" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,188</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: xdx2ixbrl0543">&#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: xdx2ixbrl0544">&#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="From2024-01-01to2024-03-31" id="Fact000545" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,188</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></tr>
  <tr id="xdx_40E_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_zobdb2eitbWh" 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: xdx2ixbrl0547">&#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: xdx2ixbrl0548">&#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: xdx2ixbrl0549">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zHu4QY1FBqL5" title="Stock issued for services, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="Fact000556" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,655</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="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="Fact000550" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9</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="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000551" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,491</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: xdx2ixbrl0552">&#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: xdx2ixbrl0553">&#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="From2024-01-01to2024-03-31" id="Fact000554" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,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></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensationGross_iP3us-gaap--StockIssuedDuringPeriodSharesIssuedForServices_zbCqf6O9USkl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock compensation under ESPP</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: xdx2ixbrl0558">&#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: xdx2ixbrl0559">&#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: xdx2ixbrl0560">&#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: xdx2ixbrl0561">&#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:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000562" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,116</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: xdx2ixbrl0563">&#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: xdx2ixbrl0564">&#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:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2024-01-01to2024-03-31" id="Fact000565" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,116</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></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_zLVy66wWVGMa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Net loss for the three months ended March 31, 2024</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: xdx2ixbrl0567">&#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: xdx2ixbrl0568">&#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: xdx2ixbrl0569">&#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: xdx2ixbrl0570">&#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: xdx2ixbrl0571">&#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="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="Fact000572" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,752,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"><span style="-sec-ix-hidden: xdx2ixbrl0573">&#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="From2024-01-01to2024-03-31" id="Fact000574" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,752,309</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></tr>
  <tr id="xdx_43D_c20240101__20240331_eus-gaap--StockholdersEquity_iE_zeDw88c8WFmh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance March 31, 2024</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--SharesOutstanding_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zTI7Z6x0NUW" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_custom_PreferredStockDMember" id="Fact000585" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,919</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="AsOf2024-03-31_custom_PreferredStockDMember" id="Fact000576" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2</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_988_eus-gaap--SharesOutstanding_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zE0tqMAwnTMe" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_custom_PreferredStockEMember" id="Fact000587" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">13,625</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="AsOf2024-03-31_custom_PreferredStockEMember" id="Fact000577" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14</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_98E_eus-gaap--SharesOutstanding_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zrEHpTa0alPh" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0589">&#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: xdx2ixbrl0578">&#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_98E_eus-gaap--SharesOutstanding_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zbUWpszVP8q5" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000591" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,315,318</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="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000579" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,315</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="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000580" format="ixt:numdotdecimal" decimals="0" unitRef="USD">72,025,821</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="AsOf2024-03-31_us-gaap_RetainedEarningsMember" id="Fact000581" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">66,355,861</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="AsOf2024-03-31_us-gaap_TreasuryStockCommonMember" id="Fact000582" 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="AsOf2024-03-31" id="Fact000583" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,519,839</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>&#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>


<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 condensed notes to the unaudited 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>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#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 -->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: 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: 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 STATEMENTS OF CASH FLOWS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</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_300_112_ztGwi5OkweCe" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)" style="font: 10pt Aptos Narrow; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_49E_20240101__20240331_zqNH6A6b0fRi" style="font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" id="xdx_494_20230101__20230331_z34OUxeBIVPi" style="font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">For
    the Three Months Ended</span></td><td style="text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">March
    31,</span></td><td style="text-align: center; padding-bottom: 1pt; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">2024</span></td><td style="text-align: center; padding-bottom: 1pt; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">2023</span></td><td style="text-align: center; padding-bottom: 1pt; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td colspan="2" style="font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td colspan="2" style="font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_402_eus-gaap--OperatingCashFlowsDirectMethodAbstract_iB_zGb1LTbUtozi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Cash from operating activities:</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--NetIncomeLoss_i01_maNCPBUz112_ztJkRwIa9MJ7" style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Net loss</span></td><td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000596" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,752,309</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31" id="Fact000597" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,143,683</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_409_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_iB_zrkVTMzz2Yjl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Adjustments to reconcile net loss to net cash
    used in operating activities:</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--DepreciationAndAmortization_i01_maNCPBUz112_zArx3G09XLo3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Depreciation and amortization</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-01to2024-03-31" id="Fact000602" format="ixt:numdotdecimal" decimals="0" unitRef="USD">158,208</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-03-31" id="Fact000603" format="ixt:numdotdecimal" decimals="0" unitRef="USD">116,588</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40E_eus-gaap--ShareBasedCompensation_i01_maNCPBUz112_zCm69dnhmbxf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Stock based compensation</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-03-31" id="Fact000605" format="ixt:numdotdecimal" decimals="0" unitRef="USD">159,320</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-03-31" id="Fact000606" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,128</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40F_ecustom--StockIssuedForServices_i01N_di_msNCPBUz112_zAU31usiW4pd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Stock issued for services</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="duot:StockIssuedForServices" contextRef="From2024-01-01to2024-03-31" id="Fact000608" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">37,500</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="duot:StockIssuedForServices" contextRef="From2023-01-012023-03-31" id="Fact000609" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">32,500</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_i01_maNCPBUz112_zLieoqNGdtS6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Amortization of operating lease right of use
    asset</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000611" format="ixt:numdotdecimal" decimals="0" unitRef="USD">83,348</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-012023-03-31" id="Fact000612" format="ixt:numdotdecimal" decimals="0" unitRef="USD">77,101</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract_i01B_zJA8YOTbHVB8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Changes in assets and liabilities:</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInReceivables_i02N_di_msNCPBUz112_zVEwEJ67H2P6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Accounts receivable</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInReceivables" contextRef="From2024-01-01to2024-03-31" id="Fact000617" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">866,373</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInReceivables" contextRef="From2023-01-012023-03-31" id="Fact000618" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,700,917</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_405_ecustom--IncreaseDecreaseInNotesReceivable_i02N_pp0p0_di0_msNCPBUz112_zY5ivudjtfM" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Note receivable</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="duot:IncreaseDecreaseInNotesReceivable" contextRef="From2024-01-01to2024-03-31" id="Fact000620" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,875</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="duot:IncreaseDecreaseInNotesReceivable" contextRef="From2023-01-012023-03-31" id="Fact000621" format="ixt:zerodash" decimals="0" scale="0" sign="-" unitRef="USD">&#8212;</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInContractWithCustomerAsset_i02N_di_msNCPBUz112_zb9Zros7HOAj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Contract assets</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2024-01-01to2024-03-31" id="Fact000623" format="ixt:numdotdecimal" decimals="0" unitRef="USD">270,099</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2023-01-012023-03-31" id="Fact000624" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,590</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_400_eus-gaap--IncreaseDecreaseInInventories_i02N_di_msNCPBUz112_zULAY5sHVSBc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Inventory</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-01to2024-03-31" id="Fact000626" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">23,828</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-012023-03-31" id="Fact000627" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,167</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInPrepaidExpense_i02N_di_msNCPBUz112_zgUwl54sT5Aa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Prepaid expenses and other
    current assets</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000629" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">57,944</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2023-01-012023-03-31" id="Fact000630" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">228,941</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--IncreaseDecreaseInAccountsPayableTrade_i02_maNCPBUz112_zr1l5vlBsJMj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Accounts payable</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2024-01-01to2024-03-31" id="Fact000632" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">415,718</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2023-01-012023-03-31" id="Fact000633" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,008,207</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInAccruedLiabilities_i02_maNCPBUz112_z0C233ODLMTk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Accrued expenses</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2024-01-01to2024-03-31" id="Fact000635" format="ixt:numdotdecimal" decimals="0" unitRef="USD">76,370</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2023-01-012023-03-31" id="Fact000636" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">85,371</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInOperatingLeaseLiability_i02_maNCPBUz112_zX63UhRLwnI4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Operating lease obligation</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2024-01-01to2024-03-31" id="Fact000638" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">82,306</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2023-01-012023-03-31" id="Fact000639" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">8,107</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i02_maNCPBUz112_zBoVYtl4nixi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Contract
    liabilities</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2024-01-01to2024-03-31" id="Fact000641" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,697</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-012023-03-31" id="Fact000642" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,108,864</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i02T_mtNCPBUz112_maCCERCzJja_zmUpbCfkPvY" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Net cash used in operating
    activities</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000644" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,032,719</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-012023-03-31" id="Fact000645" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">7,086</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold; text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zAHHBtFlPeX7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Cash flows from investing activities:</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsToAcquireIntangibleAssets_i01N_di_msNCPBUzq40_z2RQf8Sv9Gp" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;Purchase of patents/trademarks</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2024-01-01to2024-03-31" id="Fact000650" format="ixt:numdotdecimal" decimals="0" unitRef="USD">980</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2023-01-012023-03-31" id="Fact000651" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,339</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsToDevelopSoftware_i01N_di0_msNCPBUzq40_zRwKB6NHgFN9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;Purchase of software
    development</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:PaymentsToDevelopSoftware" contextRef="From2024-01-01to2024-03-31" id="Fact000653" format="ixt:zerodash" decimals="0" sign="-" unitRef="USD">&#8212;</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:PaymentsToDevelopSoftware" contextRef="From2023-01-012023-03-31" id="Fact000654" format="ixt:numdotdecimal" decimals="0" unitRef="USD">212,067</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_402_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msNCPBUzq40_zNDPlluTTci9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;Purchase
    of fixed assets</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-01to2024-03-31" id="Fact000656" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,830</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-03-31" id="Fact000657" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,738</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtNCPBUzq40_maCCERCzJja_zwa2AnNryCk9" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Net cash used in investing
    activities</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000659" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">9,810</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-012023-03-31" id="Fact000660" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">261,144</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zthiM6zyGaOb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">Cash flows from financing activities:</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold; text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_406_ecustom--RepaymentsOnFinancingAgreements_i01N_di_msNCPBUzBwV_zF4vDJaG4HC4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Repayments on financing agreements</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="duot:RepaymentsOnFinancingAgreements" contextRef="From2024-01-01to2024-03-31" id="Fact000665" format="ixt:numdotdecimal" decimals="0" unitRef="USD">130,535</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="duot:RepaymentsOnFinancingAgreements" contextRef="From2023-01-012023-03-31" id="Fact000666" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201,485</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_400_ecustom--RepaymentsOfLongTermCapitalLeaseObligation_i01N_di0_msNCPBUzBwV_zQnQod63SDJ9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Repayment of finance lease</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="duot:RepaymentsOfLongTermCapitalLeaseObligation" contextRef="From2024-01-01to2024-03-31" id="Fact000668" format="ixt:zerodash" decimals="0" sign="-" unitRef="USD">&#8212;</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="duot:RepaymentsOfLongTermCapitalLeaseObligation" contextRef="From2023-01-012023-03-31" id="Fact000669" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,285</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_405_ecustom--IssuanceCosts_i01N_di_msNCPBUzBwV_zOks6UjzOOsg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Stock issuance
    cost</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="duot:IssuanceCosts" contextRef="From2024-01-01to2024-03-31" id="Fact000671" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,188</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">(<ix:nonFraction name="duot:IssuanceCosts" contextRef="From2023-01-012023-03-31" id="Fact000672" format="ixt:numdotdecimal" decimals="0" unitRef="USD">299,145</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">)</span></td></tr>
  <tr id="xdx_401_eus-gaap--ProceedsFromIssuanceOrSaleOfEquity_i01_maNCPBUzBwV_z7tv1rVmRGpj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;&#160;Proceeds
    from preferred stock issued</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" contextRef="From2024-01-01to2024-03-31" id="Fact000674" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,745,002</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" contextRef="From2023-01-012023-03-31" id="Fact000675" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,000,000</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUzBwV_maCCERCzJja_zTeknYUXNdJ2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Net cash provided by financing
    activities</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000677" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,578,279</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-012023-03-31" id="Fact000678" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,488,085</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_iT_mtCCERCzJja_zrOyaUTDE9Bj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Net increase in cash</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2024-01-01to2024-03-31" id="Fact000680" format="ixt:numdotdecimal" decimals="0" unitRef="USD">535,750</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2023-01-012023-03-31" id="Fact000681" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,219,855</ix:nonFraction></span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_iS_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">Cash,
    beginning of period</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-12-31" id="Fact000683" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,441,842</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31" id="Fact000684" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,121,092</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_iE_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">Cash,
    end of period</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-03-31" id="Fact000686" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,977,592</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-03-31" id="Fact000687" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,340,947</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold; text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zo2I6UuZXqA6" style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Supplemental
    Disclosure of Cash Flow Information:</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--InterestPaidNet_i01_d0_zgHtoVk9Kkzl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">Interest paid</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2024-01-01to2024-03-31" id="Fact000692" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-012023-03-31" id="Fact000693" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,180</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxesPaidNet_i01_d0_zPWq77g51hxd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif">Taxes paid</span></td><td style="padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2024-01-01to2024-03-31" id="Fact000695" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-012023-03-31" id="Fact000696" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_408_eus-gaap--NoncashInvestingAndFinancingItemsAbstract_iB_zRkXM2mXYtG4" style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Supplemental
    Non-Cash Investing and Financing Activities:</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--NotesIssued1_i01_zB77DEdGAmBf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">Notes issued for financing
    of insurance premiums</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:NotesIssued1" contextRef="From2024-01-01to2024-03-31" id="Fact000701" format="ixt:numdotdecimal" decimals="0" unitRef="USD">272,322</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><span style="font-family: Times New Roman, Times, Serif">$</span></td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:NotesIssued1" contextRef="From2023-01-012023-03-31" id="Fact000702" format="ixt:numdotdecimal" decimals="0" unitRef="USD">320,004</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">&#160;</span></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;&#160;&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying condensed notes to the unaudited consolidated
financial statements.</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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</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 -->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: 4pt Times New Roman, Times, Serif; margin: 0 0 8pt"></p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>
    <p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000704" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock"><p id="xdx_803_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zPqevMucfktl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 1 &#8211; <span id="xdx_82E_zlUHQjp8Ujuj">NATURE OF OPERATIONS AND SUMMARY
OF SIGNIFICANT ACCOUNTING POLICIES</span></b></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000706" name="duot:NatureOfOperationsPolicyTextBlock"><p id="xdx_84A_ecustom--NatureOfOperationsPolicyTextBlock_zaHssE5rWvt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_862_zMtafsqjvm74">Nature of Operations</span></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">Duos Technologies Group, Inc. (the &#8220;Company&#8221;),
through its operating subsidiary, Duos Technologies, Inc. (&#8220;Duos&#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, which can assist law enforcement agencies. Each rail car is scanned
with machine vision cameras and other sensors from the top, sides, and bottom, where images are produced within seconds of the railcar
passing. These images can then 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, Information Technology (&#8220;IT&#8221;), and Artificial Intelligence development
and engineering. The Company maintains significant intellectual property and continues to be awarded additional patents for both the technology
and methodologies used. The Company also has a proprietary portfolio of approximately 50 Artificial Intelligence &#8220;Use Cases&#8221;
that automatically flag defects. The Company has deployed this system with several Class 1 railroads and one major passenger carrier and
anticipates an increased demand in the future from railcar operators, owners, shippers, transit railroads as well as 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 (&#8220;ALIS&#8221;) 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 and significantly improve operations and security and, importantly, dramatically improve
throughput on each lane on which the technology is deployed. The Company is not currently actively pursuing further customers for ALIS
but will continue to analyze the potential market and expects to deploy an upgraded Truck Inspection Portal (TIP) which uses the same
technology and lessons learned from the ALIS and RIP systems at some point in 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">The Company&#8217;s strategy for the rail industry
is to expand beyond our existing customer base in the Class 1 and major passenger transit market and we expect to add additional users
in the short line and regional transit markets in North America. In addition, we plan to expand our subscription offering to car owners
and shippers and expand operations to meet the demand from international customers. The Company is 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.
The Company is also further investigating market opportunities for subsets of its technology including deployment and management of Edge
Data Centers, a fundamental component of the distributed, rapid response data analysis used in the RIP.</p>

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

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

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


<ix:exclude><!-- Field: Page; Sequence: 7; Options: NewSection -->
    <div id="xdx_23A_zYG4TEjpj7S8" 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; Value: 5; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_236_zdWiVxYxezxf" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>



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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000712" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock"><p id="xdx_84D_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBq6Xygueh4e" 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"><span id="xdx_86B_zNpIXWWgv5q7">Basis of Presentation</span></span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The accompanying unaudited consolidated financial
statements have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) for interim financial
information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information
and footnotes required by U.S. GAAP for complete financial statements. In the opinion of management, all adjustments (all of which are
of a normal recurring nature) considered necessary for a fair presentation have been included. Operating results for the three months
ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any
other future period. These unaudited consolidated financial statements and the unaudited condensed notes thereto should be read in conjunction
with the audited consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the
year ended December 31, 2023 filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) on April 1, 2024.</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000714" name="us-gaap:ConsolidationPolicyTextBlock"><p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_z8YlzzcX3JD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_860_zMLSMwuRZd36">Principles of Consolidation</span></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">The unaudited consolidated financial statements include
Duos Technologies Group, Inc. and its wholly owned subsidiary, Duos Technologies, Inc. All inter-company transactions and balances are
eliminated in consolidation.</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000716" name="us-gaap:UseOfEstimates"><p id="xdx_84B_eus-gaap--UseOfEstimates_zp8C9K2wKvD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86B_zbmzQFXHlCU2">Use of Estimates</span></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">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 unaudited 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"><b>&#160;&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000718" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_840_eus-gaap--ConcentrationRiskCreditRisk_z8w3gMHs5v64" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_867_zx4oNEjQuIph">Concentrations</span> </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"><b>Cash Concentrations</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">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 March 31, 2024,
the balance in one financial institution exceeded federally insured limits by approximately $<span id="xdx_904_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20240331_zZuka0gZkPUd" title="Federally insured limits"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2024-03-31" id="Fact000720" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,485,140</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>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Significant Customers and Concentration of Credit Risk</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; background-color: white">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 three months ended March 31, 2024, three customers
accounted for <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zwNxqCQQI0E9" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000722" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">31</ix:nonFraction></span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zzdIHAiJmEug" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000724" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30</ix:nonFraction></span>% and <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWFP0B6HzCKf" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000726" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26</ix:nonFraction></span>% of revenues. For the three months ended March 31, 2023, two customers accounted for <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zk5LczjHVVne" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-03-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000728" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">70</ix:nonFraction></span>%, and <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2mkSBl2Edkg" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-03-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000730" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% of revenues.
In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a Railcar 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 may be 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>

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

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


<ix:exclude><!-- Field: Page; Sequence: 8 -->
    <div id="xdx_238_zq7a1VZjnUf2" 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 id="xdx_23E_zDOysuYiShoc" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At March 31, 2024, three customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zIvP7Akv2yC8" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000735" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">49</ix:nonFraction></span>%,
<span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zSiZlxvAriUc" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000737" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">38</ix:nonFraction></span>%, and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zT310z1zM5el" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_Customer3Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000739" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">13</ix:nonFraction></span>% of accounts receivable. At December 31, 2023, two customers accounted for <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2vh1ar0IRKd" 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="Fact000741" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">83</ix:nonFraction></span>%, and <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zJcXibCCQ1K9" 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="Fact000743" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>% of accounts receivable. Much of the
credit risk is mitigated since all 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;<b>&#160;</b></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>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">For the three months ended March 31, 2024, approximately
<span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zcYYnwyzwspe" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-03-31_custom_ThreeCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US" id="Fact000745" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">61</ix:nonFraction></span>% of revenue was generated from three customers outside of the United States. For the three months ended March 31, 2023, approximately
<span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z8rRVdEWDWE8" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-03-31_custom_ThreeCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US" id="Fact000747" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">25</ix:nonFraction></span>% of revenue was generated from three customers outside 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"><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>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000749" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock"><p id="xdx_842_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_zP9a1l59MW0g" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86E_zqghakBErRl4">Fair Value of Financial Instruments and Fair Value Measurements</span></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">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">&#160;</p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 10%"><span style="font-size: 10pt">Level 1:</span></td>
    <td style="width: 90%"><span style="font-size: 10pt">Observable inputs such as quoted market prices in active markets for identical assets or liabilities.&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Level 2:</span></td>
    <td><span style="font-size: 10pt">Observable market-based inputs or unobservable inputs that are corroborated by market data.&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Level 3:</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">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.</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: 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="From2024-01-01to2024-03-31" escape="true" id="Fact000751" name="us-gaap:TradeAndOtherAccountsReceivablePolicy"><p id="xdx_840_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zftffehktW2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_860_z4eCWCiv3OMk">Accounts Receivable</span></span></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">On January 1, 2023, the Company adopted ASC 326, &#8220;Financial
Instruments - Credit Losses&#8221;. In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make the 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>

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


<ix:exclude><!-- Field: Page; Sequence: 9 -->
    <div id="xdx_23A_znTmGo6GopEc" 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 id="xdx_23E_zTjhEM5J4r25" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

<ix:exclude><p id="xdx_23F_zYyFnPo0AKU" style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"></p></ix:exclude>

<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 credit loss 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 the
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">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000756" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zt6AsdueeOn3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_866_z0PHz2YJYgNb">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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000758" name="us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock"><p id="xdx_845_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zhNEKBxPkZPl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_z3aD8M66lsu4">Software Development 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">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 capitalized 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="From2024-01-01to2024-03-31" escape="true" id="Fact000760" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock"><p id="xdx_844_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_z8MiDFu5EiCf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zghcKTThEE84">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;Share-Based Payment,&#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">&#160;</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.&#160;</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000762" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zjZn7DKLAga2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86B_znzOJceFgwT1">Revenue Recognition</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
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 cellspacing="0" cellpadding="0" style="font: 12pt 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-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>
<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: 12pt 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-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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-size: 10pt">3.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Determine the transaction price;</span></td></tr>
  </table>
<ix:exclude><p id="xdx_23E_zBCTPe8MMikf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

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


<ix:exclude><!-- Field: Page; Sequence: 10 -->
    <div id="xdx_23A_zHBOzjTrb3Ga" 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 id="xdx_23A_zk800v2poc4c" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

<p style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"></p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-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; 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:</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(1) Technology 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">(2) AI Technologies</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(4) Consulting 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"><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>

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

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


<ix:exclude><!-- Field: Page; Sequence: 11 -->
    <div id="xdx_234_zXyYeYMRN1y3" 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 id="xdx_237_zfhiOkEO6eSb" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

<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>

<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 three sources: (1) Professional Services (consulting and auditing); (2) Customer service training
and (3) Maintenance/support.</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(2) 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; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(3) Maintenance/support is an optional product sold
to our software license customers under one-year or longer contracts. Accordingly, maintenance payments received upfront are deferred
and recognized over the contract term.</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000770" name="duot:MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock"><p id="xdx_840_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zqRSEfEOdDfj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span id="xdx_868_zGvGX6w68Qna">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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

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


<ix:exclude><!-- Field: Page; Sequence: 12 -->
    <div id="xdx_23F_zVVOifAWgBz6" 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 id="xdx_235_zssEShJun0y9" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000774" name="us-gaap:LesseeLeasesPolicyTextBlock"><p id="xdx_841_eus-gaap--LesseeLeasesPolicyTextBlock_z9yzlht1VdH1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_865_zH8Mba3nBky">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 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 Times New 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 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 as an
expense when 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 Times New 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 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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt 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.</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000776" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_z8451qNfuF3f" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_zL9q36UAiN76">Earnings (Loss) Per Share</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">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. &#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">At March 31, 2024, there were (i) an aggregate of
<span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zsQwJ1dwA7se" title="Outstanding warrants"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember182928046" id="Fact000778" 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_909_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfuFCW0JFxQa" title="Number of incentive stock options"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact000780" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></span> shares
of common stock, (iii) <span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zTRSqfRkw4i9" title="Common shares issuable upon conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2024-01-012024-03-31_custom_SeriesDConvertiblePreferredStockMember" id="Fact000782" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">639,667</ix:nonFraction></span> common shares issuable upon conversion of Series D Convertible Preferred Stock, and (iv) <span id="xdx_90A_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znTBa65t7nYj" title="Common shares issuable upon conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2024-01-012024-03-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact000784" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,541,667</ix:nonFraction></span> common
shares issuable upon conversion of Series E 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 March 31, 2023, there were (i) an aggregate of
<span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20230331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zl5nAPnk7nrf" title="Outstanding warrants"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember182928062" id="Fact000786" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,091</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_c20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoXKvKGkcYUk" title="Number of incentive stock options"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" contextRef="AsOf2023-03-31_us-gaap_EmployeeStockOptionMember" id="Fact000788" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">924,658</ix:nonFraction></span> shares
of common stock, (iii) <span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zcvmaF5XFkBh" title="Common shares issuable upon conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2023-01-012023-03-31_custom_SeriesDConvertiblePreferredStockMember" id="Fact000790" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">433,000</ix:nonFraction></span> common shares issuable upon conversion of Series D Convertible Preferred Stock and (iv) <span id="xdx_904_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zll8wReGxkr9" title="Common shares issuable upon conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2023-01-012023-03-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact000792" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,333,334</ix:nonFraction></span> common
shares issuable upon conversion of Series E Convertible Preferred Stock, all of which were excluded from the computation of diluted 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"><b>&#160;</b></p>


<ix:exclude><!-- Field: Page; Sequence: 13 -->
    <div id="xdx_23E_zbN3CeObARr6" 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 id="xdx_234_zLAK4dVoYeH5" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000795" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zYDNGBOQoPB8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_z6UYlmJRcE4">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"></p>

<p style="font: 10pt Times New 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 November 2023, the FASB issued ASU 2023-07 Segment
Reporting (Topic 280): Improvements to Reportable Segment Disclosures. 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 has evaluated the disclosure impact of ASU 2023-07; and determined 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; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In December 2023, the FASB issued ASU No. 2023-09
Income Taxes (Topic 740): Improvements to Income Tax Disclosures. 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.</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">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:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000797" name="us-gaap:SubstantialDoubtAboutGoingConcernTextBlock"><p id="xdx_80D_eus-gaap--SubstantialDoubtAboutGoingConcernTextBlock_zoecPWBfNkN1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 2 &#8211; <span id="xdx_829_zyOgw6v1ceT7">LIQUIDITY</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">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">&#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_905_eus-gaap--ProfitLoss_c20240101__20240331_zo2bDXXX5pR2" title="Net loss"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000799" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,752,309</ix:nonFraction></span> for the three months ended March 31, 2024. During the same period, cash used in operating
activities was $<span id="xdx_90C_eus-gaap--NetCashProvidedByUsedInOperatingActivities_iN_di_c20240101__20240331_ztFZtxJd6fRf" title="Cash used in operating activities"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000801" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,032,719</ix:nonFraction></span>. The working capital surplus and accumulated deficit as of March 31, 2024, were $<span id="xdx_90D_ecustom--WorkingCapitalSurplus_iI_pp0p0_c20240331_zkkoZAeJsc24" title="Working capital surplus"><ix:nonFraction name="duot:WorkingCapitalSurplus" contextRef="AsOf2024-03-31" id="Fact000803" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,305,875</ix:nonFraction></span> and $<span id="xdx_907_eus-gaap--RetainedEarningsAccumulatedDeficit_iNI_di_c20240331_zlD6BBAHpdIl" title="Accumulated deficit"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-03-31" id="Fact000805" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">66,355,861</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 underwritten offerings and private placements which were completed during 2022, 2023, and now
the first and second quarters of 2024 as well.</p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 14 -->
    <div id="xdx_237_zjnlVJ2Wy0V6" 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 id="xdx_23C_zxJ2QkqW22sk" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

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

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

<p style="font: 10pt Aptos; margin: 0 0 6pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">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 5). 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 filing 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.</span>&#160;<span style="font-family: Times New Roman, Times, Serif">&#160;</span></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">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, and growing the Company sufficiently
to generate enough revenue to attain consistently profitable operations. The Company cannot currently quantify the uncertainty related
to previous supply chain delays or the persistence of inflation and their effects on our customers in the coming quarters. We have analyzed
our cash flow under &#8220;stress test&#8221; conditions and have determined that we have sufficient liquid assets on hand, forthcoming
with ongoing business or available via the capital markets to maintain operations for at least twelve months from the 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 been taking 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, as described above,
it will have sufficient sources of working capital to meet its obligations over the following twelve months. In the last twelve months
the Company has experienced relatively steady contracted backlog as well as seen positive signs from new commercial engagements that indicate
improvements in future commercial opportunities for both one-time capital and recurring services 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, the consequent need to procure certain materials in advance of a binding contract and
the additional time needed to execute on new contracts previously reported have put a strain on our cash reserves. However, proactive
management of our existing contracts, recent stock offerings and private placements as well as the availability to raise capital via our
shelf registration indicate there is no substantial doubt that the Company can continue as a going concern for a period of twelve months
from the issuance date of this report. 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 twelve
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, continued in 2023, and will continue
in 2024 and beyond. 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>

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

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


<ix:exclude><!-- Field: Page; Sequence: 15 -->
    <div id="xdx_234_zHLK6jfqIHJc" 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 id="xdx_236_zu3BEqVXRSh7" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000813" name="us-gaap:DebtDisclosureTextBlock"><p id="xdx_80C_eus-gaap--DebtDisclosureTextBlock_zvaIZ3JEuwv2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 3 &#8211; <span id="xdx_82B_zqHvEnXgZsui">DEBT</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"><b><span style="text-decoration: underline">Notes Payable - Financing Agreements</span></b></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: justify">The Company&#8217;s notes payable relating to financing
agreements classified as current liabilities consist of the following as of March 31, 2024 and December 31, 2023:</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000815" name="us-gaap:ScheduleOfDebtTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--ScheduleOfDebtTableTextBlock_zzxdPKLcHZph" summary="xdx: Disclosure - DEBT (Details - Notes payable financing agreements)" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BD_zenxFUUFUUUh" 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>&#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">March 31, 2024</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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31, 2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">Notes Payable</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">Principal</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">Interest</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">Principal</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">Interest</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">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#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: 48%; text-align: left">Third Party - Insurance Note 1</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_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zhqIWrCPbcVb" title="Notes payable, principal" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000817" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right">&#8212;</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 id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z248whUIcdf7" title="Notes payable, principal" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000819" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">39,968</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">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"><span id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCKntMUe2VBk" title="Notes payable, interest"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingFixedInterestRate" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000821" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.00</ix:nonFraction></span></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">Third Party - Insurance Note 2</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_98F_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z4VOFclNUZyj" title="Notes payable, principal" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact000823" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">22,438</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">&#8212;</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--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zQG4KQiHm34a" title="Notes payable, principal" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact000825" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,008</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">&#8212;</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-align: left; padding-bottom: 1pt">Third Party - Insurance Note 3</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_989_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_znEs2FDkmof1" title="Notes payable, principal" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact000827" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">161,325</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-family: Times New Roman, Times, Serif; 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_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zMDR8bzPZRh7" title="Notes payable, principal" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact000829" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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">&#8212;</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; padding-bottom: 2.5pt">Total</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 id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331_zoXAI5KKFhja" title="Notes payable, principal" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2024-03-31" id="Fact000831" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">183,763</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; 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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zPfp5D81USQ5" title="Notes payable, principal" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000833" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">41,976</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</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"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on April 15,
2023 with its insurance provider by issuing a note payable (Insurance Note 1) for the purchase of an insurance policy in the amount of
$<span id="xdx_904_eus-gaap--NotesPayable_iI_pp0p0_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zJsSkU7NTTBk"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000834" 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_903_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zUvU7GFZvz85"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000835" 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_901_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230414__20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zSToJ52S8H4g"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2023-04-142023-04-15_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000836" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,501</ix:nonFraction></span>.
At March 31, 2024 and December 31, 2023, the balance of Insurance Note 1 was zero <span id="xdx_90D_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCschmTizgE1"><b style="display: none"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000837" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction>
</b></span>and $<span id="xdx_90C_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zm3Y4NTgFOQd"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact000838" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">39,968</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 renewed it&#8217;s agreement on February
3, 2024 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_909_eus-gaap--NotesPayable_iI_pp0p0_c20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zEDKHEg9ng1d" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2024-02-03_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact000840" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">24,140</ix:nonFraction></span>, and payable in 12 monthly installments of $<span id="xdx_90F_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zxAB6uXXxER7" title="Monthly instalments of principal and interest"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2024-02-022024-02-03_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact000842" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,012</ix:nonFraction></span>. At March 31, 2024 and December 31, 2023, the balance of Insurance Note 2
was $<span id="xdx_907_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z5FXhnm30CNi" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact000844" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">22,438</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zGg4gR9lmH9i" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact000846" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,008</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, 2024 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_90B_ecustom--PurchaseOfInsurancePolicy_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zYeSkrh5Rkea" title="Purchase of insurance policy"><ix:nonFraction name="duot:PurchaseOfInsurancePolicy" contextRef="From2024-02-022024-02-03_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact000848" format="ixt:numdotdecimal" decimals="0" unitRef="USD">245,798</ix:nonFraction></span> with a down payment paid in
the amount of $<span id="xdx_906_ecustom--DownPaymentPaid_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zHvsEqpglrha" title="Down payment paid"><ix:nonFraction name="duot:DownPaymentPaid" contextRef="From2024-02-022024-02-03_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact000850" format="ixt:numdotdecimal" decimals="0" unitRef="USD">84,473</ix:nonFraction></span> in the first quarter of 2024
and ten monthly installments of $<span id="xdx_90E_ecustom--InsuranceMonthlyInstallments_c20240101__20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zyxCq7QUHaAj" title="Monthly installments"><ix:nonFraction name="duot:InsuranceMonthlyInstallments" contextRef="From2024-01-012024-03-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact000852" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,169</ix:nonFraction></span>.
At March 31, 2024 and December 31, 2023, the balance of Insurance Note 4 was $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zRwacmZJepG7" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteFourMember" id="Fact000854" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">161,325</ix:nonFraction>
</span>and zero <b><span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zGbjBkD3TTU9" title="Notes payable outstanding balance" style="display: none"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember" id="Fact000856" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction></span></b> , respectively.</p>

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

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


<ix:exclude><!-- Field: Page; Sequence: 16 -->
    <div id="xdx_23B_zkvyYOw2826c" 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 id="xdx_23C_zc7ooWLjrqb4" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000860" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_806_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zwSRIxLUgwYi" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>NOTE 4 &#8211; <span id="xdx_828_z01VuhJtpoQ7">COMMITMENTS AND CONTINGENCIES</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><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"><b>&#160;</b></p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">On July 26, 2021, the
Company entered a new operating lease agreement for office and warehouse combination space of <span id="xdx_901_ecustom--AreaOfLease_usqft_c20210725__20210726_zaUZ7fpNc8mc" title="Area of lease"><ix:nonFraction name="duot:AreaOfLease" contextRef="From2021-07-252021-07-26" id="Fact000862" 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_zpW96O6vzdT7" title="Operating lease right of use asset"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-07-26" id="Fact000864" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,980,104</ix:nonFraction></span> </span><span style="font-family: Calibri, Helvetica, Sans-Serif; font-size: 8pt">&#160;&#160;</span><span style="font-size: 10pt">at
lease commencement. Rent for the first eleven months of the term was calculated based on <span id="xdx_900_ecustom--RentableSpace_usqft_c20210725__20210726_zuKlCQyrARgk" title="Rentable space"><ix:nonFraction name="duot:RentableSpace" contextRef="From2021-07-252021-07-26" id="Fact000866" 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_zrzFpJ5Mvwx2" title="Security deposit payment"><ix:nonFraction name="us-gaap:SecurityDepositLiability" contextRef="AsOf2021-07-26" id="Fact000868" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">600,000</ix:nonFraction></span> on
July 26, 2021. Per the contract, in the 18th month, the security deposit was reduced by $<span id="xdx_901_eus-gaap--SecurityDeposit_iI_c20210726_zFP6HOQmzApb" title="Security deposit value"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2021-07-26" id="Fact000870" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,000</ix:nonFraction></span>. The right of use asset balance at March
31, 2024, net of accumulated amortization, was $<span id="xdx_90C_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20240331_z2P6UtS69u3f" title="Accumulated amortization"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-03-31" id="Fact000872" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,289,807</ix:nonFraction></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; text-align: justify">As of March 31, 2024, 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.3 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.</p>

<p style="font: 10pt Times New 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>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000874" name="duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zcyQ0o4U1SHd" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BE_z8X8qHnsVIsd" 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; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" 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>Three Months Ended </b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31,</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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">2024</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">2023</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-size: 10pt; font-weight: bold; text-align: justify">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%; font-size: 10pt; text-align: justify"><span style="font-size: 10pt">Operating lease cost</span></td><td style="width: 1%"><span style="font-size: 10pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 10pt">$</span></td><td id="xdx_989_eus-gaap--OperatingLeaseCost_pp0p0_c20240101__20240331_zyD8oVff7Jw6" title="Operating lease cost" style="width: 14%; text-align: right"><span style="font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2024-01-01to2024-03-31" id="Fact000876" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,410</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="width: 1%; font-size: 10pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><span style="font-size: 10pt">$</span></td><td id="xdx_98F_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20230331_zsRsb9A04Hi5" title="Operating lease cost" style="width: 14%; font-size: 10pt; text-align: right"><span style="font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-01-012023-03-31" id="Fact000878" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,409</ix:nonFraction></span></td><td style="width: 1%; font-size: 10pt; 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="font-size: 10pt; text-align: justify"><span style="font-size: 10pt">Short-term lease cost</span></td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td id="xdx_980_eus-gaap--ShortTermLeaseCost_pp0p0_c20240101__20240331_zn7EiIaYtiih" title="Short term lease Cost" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" contextRef="From2024-01-01to2024-03-31" id="Fact000880" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,296</ix:nonFraction></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">$</td><td id="xdx_982_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20230331_zWgumFIyCmL3" title="Short term lease Cost" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" contextRef="From2023-01-012023-03-31" id="Fact000882" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,104</ix:nonFraction></td><td style="font-size: 10pt; 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 style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; font-weight: bold; text-align: justify">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="font-size: 10pt; text-align: justify">Operating cash outflow used for operating leases</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--PaymentsForRent_pp0p0_c20240101__20240331_zY2ZPWYGzDBi" title="Operating cash outflow used for operating leases" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2024-01-01to2024-03-31" id="Fact000884" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">194,367</ix:nonFraction></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">$</td><td id="xdx_983_eus-gaap--PaymentsForRent_pp0p0_c20230101__20230331_zPy8aXn9WBra" title="Operating cash outflow used for operating leases" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2023-01-012023-03-31" id="Fact000886" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">126,416</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Weighted average discount rate</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"><span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20240331_zJseLxKczvpg" title="Weighted average discount rate"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2024-03-31" id="Fact000888" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">9.0</ix:nonFraction></span></td><td style="font-size: 10pt; text-align: left">%</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"><span id="xdx_90C_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20230331_z7Heei0DjJu4" title="Weighted average discount rate"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2023-03-31" id="Fact000890" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">9.0</ix:nonFraction></span></td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Weighted average remaining lease term</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"><span style="font-size: 10pt"><span id="xdx_905_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240331_zHPumG2NVjja" title="Weighted average remaining lease term"><ix:nonNumeric contextRef="AsOf2024-03-31" format="ixt-sec:duryear" id="Fact000892" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1">8.3</ix:nonNumeric></span> years</span></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"><span style="font-size: 10pt"><span id="xdx_906_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230331_zFcsPcvJ6Cd7" title="Weighted average remaining lease term"><ix:nonNumeric contextRef="AsOf2023-03-31" format="ixt-sec:duryear" id="Fact000894" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1">9.2</ix:nonNumeric></span> years</span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<ix:exclude><p id="xdx_238_zjOXbBl48RWj" style="font: 11pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 17 -->
    <div id="xdx_23C_zE3uKQRZkY69" 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 id="xdx_23D_z8tqhzzDWUr8" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of March 31, 2024, future minimum lease payments
due under our operating leases are as follows:</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000898" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_881_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zWEWmQBv14W6" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: left"><span id="xdx_8BB_zKeh7GadNQqj" style="display: none">Schedule of future minimum lease payments
due under the operating lease</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20240331_zbALabx6wXei" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#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">Amount</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: left">Calendar year:</td><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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maCz6be_z1WvO0OptZdl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: left">2024</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:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2024-03-31" id="Fact000900" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">584,720</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zOve80DO38Lj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2025</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:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2024-03-31" id="Fact000902" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">798,556</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_ztzmpHOfcCPb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2026</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:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2024-03-31" id="Fact000904" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">818,518</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zlJeymgR9sbj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2027</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:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="AsOf2024-03-31" id="Fact000906" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">838,984</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_z1e9GORuN8bc" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2028</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:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="AsOf2024-03-31" id="Fact000908" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">859,856</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_pp0p0_maCz6be_zDNphdSDtAk3" 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">Thereafter</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:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" contextRef="AsOf2024-03-31" id="Fact000910" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,183,571</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zElBbAjlZzdd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Total undiscounted future minimum lease payments</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:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2024-03-31" id="Fact000912" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,084,205</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zxCVrKny5Qzi" 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">Less: Impact of discounting</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:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2024-03-31" id="Fact000914" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,158,706</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_z4bBRhN6dOfl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Total present value of operating lease obligations</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:OperatingLeaseLiability" contextRef="AsOf2024-03-31" id="Fact000916" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,925,599</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_ztxlwAKvUve7" 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">Current portion</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-03-31" id="Fact000918" format="ixt:numdotdecimal" decimals="0" unitRef="USD">783,944</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zmoQrHIn4SU6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">Operating lease obligations, less current portion</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-03-31" id="Fact000920" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,141,555</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">&#160;&#160;</p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000922" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_80B_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zF5Nv9OZYJkc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 5 &#8211; <span id="xdx_825_zj9ujnF66IY5">STOCKHOLDERS&#8217; EQUITY</span></b>&#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">&#160;</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_90B_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zJslgx5v3ekf" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000924" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></span> of the <span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20240331_zs2cEZjWBNr1" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2024-03-31" id="Fact000926" 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_907_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zsGtXkg3XgO" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000928" 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"><b>&#160;</b></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_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z1XCkg0DR9Ef" title="Conversion of stock shares converted"><ix:nonFraction name="us-gaap:ConversionOfStockAmountConverted1" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000930" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000</ix:nonFraction>
</span>divided by the conversion price of $<span id="xdx_902_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zadc60kIHJk6" title="Conversion price"><ix:nonFraction name="us-gaap:DebtInstrumentConvertibleConversionPrice1" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000932" 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 March 31, 2024 and December 31, 2023, respectively, there are zero <span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z1rHXuDiyHn" title="Preferred stock, shares issued"><b><span id="xdx_904_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zx9PzAEEk551" title="Preferred stock, shares outstanding" style="display: none"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000934" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000936" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span>
</b></span>and zero <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zi5CZ9p2nlGc" title="Preferred stock, shares issued"><b><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zP1KWbPDUgk2" title="Preferred stock, shares outstanding" style="display: none"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000938" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000940" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span>
</b></span>shares of Series B Convertible Preferred Stock issued and outstanding.&#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"><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">&#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_905_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z94WXNTFPGmd" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000942" 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 had a stated value of $<span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zVDqkPEOI337" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000944" 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_902_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z7Yo3FBFJnj" title="Preferred stock voting rights"><ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000946" name="us-gaap:PreferredStockVotingRights">Each share of Series C Convertible Preferred Stock has 172 votes</ix:nonNumeric></span>
(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 $<span id="xdx_908_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zcm0fW5OgCEb" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000948" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.50</ix:nonFraction></span> (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.</p>

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

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

<ix:exclude><p id="xdx_236_zivNdoJYG6l7" style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p></ix:exclude>

<ix:exclude><!-- Field: Page; Sequence: 18 -->
    <div id="xdx_236_zHxU35MI5bM3" 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 id="xdx_237_zlKc7FoXFjp5" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<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_908_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20210225__20210226__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zjVWJ62QcVRi" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2021-02-252021-02-26_custom_PurchaseAgreementMember_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000953" 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_90D_ecustom--SeriesCPreferredConvertedToCommonStockShares_c20220101__20220131__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zqMamPLl7xmc" title="Series C preferred converted to common stock shares"><ix:nonFraction name="duot:SeriesCPreferredConvertedToCommonStockShares" contextRef="From2022-01-012022-01-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000955" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">454,546</ix:nonFraction>
</span>shares of common stock. As of March 31, 2024 and December 31, 2023, respectively, there were zero <span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zSp7p9yizq04" title="Preferred stock, shares issued"><b><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zmcDw24aQXjc" title="Preferred stock, shares outstanding" style="display: none"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000957" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000959" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span>
</b></span>and zero <span id="xdx_90F_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zFjvzebCxV25" title="Preferred stock, shares issued"><b><span id="xdx_902_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zFpS2Out65l" title="Preferred stock, shares outstanding" style="display: none"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000961" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000963" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span>
</b></span>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.</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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"><b><span style="text-decoration: underline">Series D Convertible
Preferred Stock</span></b></span><span style="font-size: 8pt">&#160;</span></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_908_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zGDb472YN3t1" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000965" 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_zG9VNma93Cia" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000967" 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_90C_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zjLOE00biOGa" title="Preferred stock voting rights"><ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000969" 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_908_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z7DhB6snxnd8" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000971" 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 are subject to the 4.99% restriction, with the exception of one who 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">&#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_903_eus-gaap--PreferredStockSharesIssued_iI_c20220930__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zptzMDF4Hi6l" title="Preferred stock, shares issued"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000973" 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_906_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20220929__20220930__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zJI91vhSKJEh" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2022-09-292022-09-30_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember" id="Fact000975" format="ixt:numdotdecimal" decimals="0" scale="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_904_eus-gaap--PreferredStockSharesIssued_iI_c20221029__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zxZxcjYwViO2" title="Preferred stock, shares issued"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember" id="Fact000977" 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_908_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20221028__20221029__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zb6mWM7hbsj" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2022-10-282022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember" id="Fact000979" 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"></p>

<p style="font: 10pt Times New 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 16, 2023, the Series D Convertible Preferred
Stock was approved for conversion to common shares during the Company&#8217;s annual shareholder meeting.&#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">On March 22, 2024 and March 28, 2024, the Company
entered into Securities Purchase Agreements (the &#8220;Purchase Agreements&#8221;) with certain existing and other accredited investors
(the &#8220;2024 Purchasers&#8221;). Pursuant to the Purchase Agreements, the 2024 Purchasers purchased an aggregate of <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zYHvKzVPBmjd" title="Shares purchased, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000981" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">620</ix:nonFraction></span> shares of
Series D Preferred Stock, at a price of $<span id="xdx_906_eus-gaap--SharePrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zuKsDhmMQTT7" title="Shares price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000983" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> per share, and the Company received proceeds of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zffdolsSPwZ2" title="Shares purchased, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000985" format="ixt:numdotdecimal" decimals="0" unitRef="USD">620,000</ix:nonFraction></span>. The Series D Preferred Stock
is convertible into Common Stock at $<span id="xdx_907_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zWoGZoQSnGCj" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000987" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span> a share. If all of the <span id="xdx_900_eus-gaap--ConversionOfStockSharesConverted1_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zNDYb8M0aXM9" title="Conversion of stock shares converted"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000989" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">620</ix:nonFraction></span> shares of Series D Preferred Stock were converted, the Company would
issue <span id="xdx_90A_eus-gaap--PreferredStockConvertibleSharesIssuable_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zszVbLNawMEe" title="Conversion of stock shares issued"><ix:nonFraction name="us-gaap:PreferredStockConvertibleSharesIssuable" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000991" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">206,667</ix:nonFraction></span> shares of Common 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">As of March 31, 2024 and December 31, 2023, respectively,
there were <span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zvmKExe8eRee" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zFsGkdQNBg6" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000993" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000995" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,919</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z4GcQRJbjHGa" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zGEVIfsqu8E9" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000997" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000999" 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">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 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">&#160;</p>

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

<ix:exclude><!-- Field: Page; Sequence: 19 -->
    <div id="xdx_23C_zTNzSqw5sOFj" 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 id="xdx_234_zHGlPVmJAXn" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></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"><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: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s Board of Directors has designated <span id="xdx_90A_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zEBlOrDInfe" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001002" 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</span>&#160;<span style="font-size: 8pt">&#160;</span>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Preferred Stock&#8221;). Each share of the Series E Convertible
Preferred Stock has a stated value of $<span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zHItlLu9ZPm9"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001003" 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_905_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zMulbgGrokkh"><ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001004" name="us-gaap:PreferredStockVotingRights">Each share of Series E Convertible Preferred Stock has 333 votes</ix:nonNumeric></span> (subject to adjustment); provided
that in no event may a holder of Series E Convertible 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 are subject to the 4.99% restriction, with the exception
of one who elected the 19.99% Beneficial Ownership Limitation</span></p>
<p style="font: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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/11pt 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_z8ONpm27GoE7" title="Preferred stock, shares issued"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001006" 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_zYq0hDLKeC82" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001008" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> per share, and the Company received proceeds of $<span id="xdx_90E_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230326__20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zRJaHxUj6Mok" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2023-03-262023-03-27_custom_ConvertibleSeriesEPreferredStockMember_custom_PurchaseAgreementMember" id="Fact001010" 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/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 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/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 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_zsgWyD8y8qF2" title="Series E preferred convertible preferred stock, Shares"><ix:nonFraction name="duot:SeriesEPreferredConvertiblePreferredStockShares" contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001012" 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_ziz234RsWmB" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001014" 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_zSyJVcvRoXc5" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001016" 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_901_eus-gaap--SharesIssued_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zsYV6LqChSPh" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001018" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series E Convertible
Preferred Stock at $<span id="xdx_90D_eus-gaap--SharePrice_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zAow4IRtqhY" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001020" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> per share with the $<span id="xdx_905_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z3vcF77aKIm9" title="Price per common share"><ix:nonFraction name="us-gaap:SharesIssuedPricePerShare" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001022" 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_900_ecustom--StockExchangeShares_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zcxylFk94T05" title="Exchange shares"><ix:nonFraction name="duot:StockExchangeShares" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001024" 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_909_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zXCNiFdLTJHl" title="Price per common share"><ix:nonFraction name="us-gaap:SharesIssuedPricePerShare" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001026" 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/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 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 Convertible Preferred Stock without the consent of the Purchasers. The conversion
price of the Series E Convertible Preferred Stock currently is $3.00 per share (subject to adjustment).</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 Purchasers under the November Purchase Agreement
also were the holders of the Company&#8217;s Series F Convertible Preferred Stock issued on August 1, 2023. The purchase agreement relating
to the shares of Series F Convertible 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 Convertible Preferred Stock, which was $<span id="xdx_90A_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z4GYhCxqiJ28" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001028" 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 Convertible Preferred Stock entered into Exchange Agreements pursuant to which the holders of Series F Convertible Preferred
Stock exchanged their <span id="xdx_90E_ecustom--NumberOfSharesExchanged_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z7KPFXSiFul" title="Number of shares exchanged"><ix:nonFraction name="duot:NumberOfSharesExchanged" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001030" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series F Convertible Preferred Stock for an equal number of shares of Series E Convertible 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_zXY52xiSic11" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001032" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,500</ix:nonFraction></span> shares of Series
E Convertible Preferred Stock and the <span id="xdx_905_ecustom--NumberOfSharesCancelled_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zLEJsw6dP122" title="Number of shares cancelled"><ix:nonFraction name="duot:NumberOfSharesCancelled" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001034" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series F Convertible Preferred Stock were cancelled.</p>

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

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

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">On March 22, 2024 and
March 28, 2024, the Company entered into Securities Purchase Agreements (the &#8220;Purchase Agreements&#8221;) with certain existing and
other accredited investors (the &#8220;2024 Purchasers&#8221;). Pursuant to the Purchase Agreements, the 2024 Purchasers purchased an
aggregate of</span><span style="font-size: 8pt">&#160;</span> <span style="font-size: 10pt"><span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zQjDhbxhpgHe" title="Shares purchased, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001036" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,125</ix:nonFraction></span> shares of Series E Convertible Preferred
Stock, at a price in each case of $<span id="xdx_905_eus-gaap--SharePrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_ztQKe4MjE5Aa" title="Shares price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001038" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> per share, and the Company received proceeds of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zBQEnzFOfbYi" title="Shares purchased, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001040" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,125,002</ix:nonFraction></span>. The Series E Preferred Stock is convertible
into Common Stock at $<span id="xdx_901_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zhol3hmiQPbi" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001042" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span> a share. If all of the <span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zneNraT4T6Y1" title="Conversion of stock shares converted"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001044" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,125</ix:nonFraction></span> shares of Series E Convertible Preferred Stock were converted, the Company would
issue <span id="xdx_908_eus-gaap--PreferredStockConvertibleSharesIssuable_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zI1fm8BU0QGd" title="Conversion of stock shares issued"><ix:nonFraction name="us-gaap:PreferredStockConvertibleSharesIssuable" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001046" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">708,333</ix:nonFraction></span> shares of Common Stock.</span></p>
<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 10pt/11pt 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">As of March 31, 2024 and December 31, 2023, respectively, there were
<span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z73UbNvc6Vu9" title="Preferred stock, shares issued"><span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z6EexNTYMQzl" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001048" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001050" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">13,625</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zwmmFUbBsrFd" title="Preferred stock, shares issued"><span id="xdx_907_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zwgmdAm68rQ5" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001052" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001054" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">11,500</ix:nonFraction></ix:nonFraction></span></span> shares of Series E Convertible Preferred Stock issued and outstanding.&#160;</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">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
E 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">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/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 20 -->
    <div id="xdx_23F_zrz4GWqLwzr3" 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 id="xdx_232_zAHBjtrScL87" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></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>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Series F 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 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_908_ecustom--SeriesFPreferredConvertiblePreferredStockShares_c20230730__20230802_z8LwwdQmBU84" title="Series F preferred convertible preferred stock, shares"><ix:nonFraction name="duot:SeriesFPreferredConvertiblePreferredStockShares" contextRef="From2023-07-302023-08-02" id="Fact001058" 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_zaBEFAt8Ppk6" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2023-07-302023-08-02" id="Fact001060" 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_90F_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_ziDLQlXjXW76" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001062" 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_90B_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zeOgtgfvHCY2" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001064" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>) by the conversion price, which is $<span id="xdx_906_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAOxzmdYX07c" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001066" 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_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z0FnrM0cda0b" title="Preferred stock voting rights"><ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001068" 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_900_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAe0axb0n8wd" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001070" 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_903_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zokLIHpe7gKg" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001072" 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_90E_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zRmJiUNvZuUg" title="Exchange of shares"><ix:nonFraction name="duot:StockExchangeShares" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001074" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series F Preferred Stock for <span id="xdx_90D_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zAyZTbsDrie1" title="Exchange of shares"><ix:nonFraction name="duot:StockExchangeShares" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001076" 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_907_eus-gaap--CapitalUnitsOutstanding_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zIqPfchcvGm5" title="Shares outstanding"><ix:nonFraction name="us-gaap:CapitalUnitsOutstanding" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001078" 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 March 31, 2024 and December 31, 2023, respectively,
there were zero <b style="display: none"><span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zlzV7J9kKrQd" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zz08ErBAYCa" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001080" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001082" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span>
</b>and zero <b><span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z81ON2ZGcPgf" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zBKcMxDfQQO9" title="Preferred stock, shares outstanding" style="display: none"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001084" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001086" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span></b> shares of Series F Convertible Preferred Stock issued and outstanding.&#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><span style="text-decoration: underline">Common stock issued</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>Three Months Ended March 31, 2024</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">During the three months ended March 31, 2024, the
Company issued <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z29X4QRnwAN1" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2024-01-012024-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001088" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,655</ix:nonFraction></span> shares of common stock for payment of board fees to three directors in the amount of $<span id="xdx_901_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zfLfgTVtHPg9" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2024-01-012024-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001090" 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 March 31, 2024. The volume-weighted average price (VWAP) per share is $<span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zocML3Aof7Wj" title="Weighted average price per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" contextRef="AsOf2024-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001092" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.33</ix:nonFraction></span>.&#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"><b>Three Months Ended March 31, 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 three months ended 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_zbv9eT2MQWOi" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001094" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,463</ix:nonFraction></span> shares of common stock for payment of board fees to three directors in the amount of $<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKNlCaBLHRrd" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001096" 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 volume-weighted average price (VWAP) per share is $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1JTDD5U2FLh" title="Weighted average price per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" contextRef="AsOf2023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001098" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.61</ix:nonFraction></span>.&#160;</p>

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

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


<ix:exclude><!-- Field: Page; Sequence: 21 -->
    <div id="xdx_236_zOiCHLD9jUM4" 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 id="xdx_233_zVJiO2lC8gYd" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<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"></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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">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_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20221001__20221231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zLTvBGgAUHcl" title="Plan, term"><ix:nonNumeric contextRef="From2022-10-012022-12-31_custom_EmployeeStockPurchasePlanMember" format="ixt-sec:duryear" id="Fact001101" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">10</ix:nonNumeric></span> years. <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_c20240101__20240331__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zkHrMJiojG3k" title="Plan, description"><ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_EmployeeStockPurchasePlanMember" id="Fact001103" 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 <span id="xdx_900_ecustom--FairMarketValuePercentage_dp_c20221001__20221231__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_z3NBfchUPojh" title="Fair market value percentage"><ix:nonFraction name="duot:FairMarketValuePercentage" contextRef="From2022-10-012022-12-31_custom_EmployeeStockPurchasePlanMember182930000" id="Fact001105" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">85</ix:nonFraction></span>% 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
ESPP employee contribution for the three months ended March 31, 2024 is less than 2</span><span style="font-size: 8pt">&#160;</span><span style="font-size: 10pt">%
of total cash and is not deemed material, therefore it is not presented separately on the Balance Sheet as &#8220;restricted cash&#8221;.
The maximum aggregate number of shares of the Common Stock that may be issued under the ESPP is <span id="xdx_902_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20240331__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zRy2HrcVgs68" title="Maximum aggregate number of shares of common stock"><ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" contextRef="AsOf2024-03-31_custom_EmployeeStockPurchasePlanMember" id="Fact001107" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></span> shares.</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">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) <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zj1Hui2T9p91" title="Purchase discount, percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember_custom_EmployeeStockPurchasePlanMember" id="Fact001109" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">15</ix:nonFraction></span>% 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 <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--CallOptionMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zMEYvExeZNj8" title="Purchase discount, percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" contextRef="From2024-01-012024-03-31_us-gaap_CallOptionMember_custom_EmployeeStockPurchasePlanMember" id="Fact001111" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">85</ix:nonFraction></span>% of
a share of common stock and a put option on <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--PutOptionMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zUylrSyU1Xl8" title="Purchase discount, percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" contextRef="From2024-01-012024-03-31_us-gaap_PutOptionMember_custom_EmployeeStockPurchasePlanMember" id="Fact001113" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">15</ix:nonFraction></span>% of a share of common stock.</p>

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

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">As of the three months
ended March 31, 2024, the Company has an accrued liability of $<span id="xdx_90B_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_c20240331__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zddv8CslyU9c" title="Accrued liability"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" contextRef="AsOf2024-03-31_custom_EmployeeStockPurchasePlanMember182930109" id="Fact001115" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,686</ix:nonFraction></span> included in accrued expenses of
employee contributions for the ESPP which may convert to shares of common stock upon the close of the offering period open from January
1, 2024 to June 30, 2024. The liability is offset by restricted cash held by the Company in the same amount for employee contributions
which the Company expects to convert to common stock upon closure of the offering period at June 30, 2024. Additionally, the Company
recorded a stock-based expense associated with the ESPP for the three months ended March 31, 2024 of $<span id="xdx_908_eus-gaap--AllocatedShareBasedCompensationExpense_c20240101__20240331__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zEO5c1Ac1zk7" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-01-012024-03-31_custom_EmployeeStockPurchasePlanMember182930109" id="Fact001117" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,116</ix:nonFraction></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; text-align: justify">The Company computed the fair value of the look-back
feature call and put options for January 1, 2024 to March 31, 2024 using a Black Scholes option pricing model using the following assumptions:</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001119" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_884_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zQ9zJhcAnHU3" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B9_zGCm7FCWQOO3" style="display: none">Schedule of black scholes option pricing model</span></td><td>&#160;</td>
    <td colspan="2">&#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>At</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</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="font-size: 10pt; text-align: justify">Grant date share price</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"><span style="font-size: 10pt">$<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoxoiL9OcXRc" title="Grant date share price"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" contextRef="From2024-01-012024-03-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember" id="Fact001121" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.70</ix:nonFraction></span> - $<span id="xdx_900_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztnQHnoN7WSb" title="Grant date share price"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" contextRef="From2024-01-012024-03-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" id="Fact001123" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.34</ix:nonFraction></span></span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Grant date exercise price</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 8pt">&#160;</span><span style="font-size: 10pt">$<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVTWZky5geP5" title="Grant date exercise price"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" contextRef="From2024-01-012024-03-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember" id="Fact001125" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.30</ix:nonFraction></span> - $<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1MLninZ8CSd" title="Grant date exercise price"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" contextRef="From2024-01-012024-03-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" id="Fact001127" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.69</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="font-size: 10pt; text-align: justify">Expected term</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"><span style="font-size: 10pt"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRrWkq6KNRwh" title="Expected term"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001129" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">0.25</ix:nonNumeric></span> years</span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 83%; font-size: 10pt; text-align: justify">Expected volatility</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 14%; font-size: 10pt; text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxyEjlw2xzS2" title="Expected volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001131" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">66.8</ix:nonFraction></span></td><td style="width: 1%; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Risk-free rate</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"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSFSWKzIzpW8" title="Risk-free rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001133" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.41</ix:nonFraction></span></td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Expected dividend rate</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"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd6EK8EbF367" title="Expected dividend rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001135" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0</ix:nonFraction></span></td><td style="font-size: 10pt; text-align: left">%</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">During the offer period, the Company records
stock-based compensation pro rata as an expense and a credit to additional paid-in capital. The following table discloses relevant
information for the ESPP at March 31, 2024 and for three months then ended.</p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001137" name="us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zbdtnbbViEX1" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt"><span id="xdx_8BB_zLbdEKBX6o74" style="display: none">Schedule of stock-based compensation</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240331_z37VU9Upe1O1" style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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">At <br/> March 31, 2024</td></tr>
  <tr id="xdx_40A_ecustom--CashPaymentReceivedFromEmployeeWithholdings_iI_zUodtH1odCQ8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 10pt">Cash payment received from employee withholdings</span></td><td style="font-size: 12pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="font-size: 12pt; text-align: right"><span style="font-size: 10pt">$</span></td>
    <td style="font-size: 12pt; text-align: right"><span style="font-size: 10pt"><ix:nonFraction name="duot:CashPaymentReceivedFromEmployeeWithholdings" contextRef="AsOf2024-03-31" id="Fact001139" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,686</ix:nonFraction></span></td></tr>
  <tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_iI_d0_zQbn0pTKPWt" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; text-align: left">Cash from employee withholdings used to purchase shares under ESPP</td><td style="font-size: 12pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-size: 12pt; text-align: right"><ix:nonFraction name="duot:CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" contextRef="AsOf2024-03-31" id="Fact001141" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td></tr>
  <tr id="xdx_40C_ecustom--CashAndEsppEmployeeWithholdingLiability_iI_zBp4VSPVprF5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%; text-align: left; padding-bottom: 2.5pt">Cash and ESPP employee withholding liability</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 style="border-bottom: Black 2.5pt double; width: 14%; text-align: right"><ix:nonFraction name="duot:CashAndEsppEmployeeWithholdingLiability" contextRef="AsOf2024-03-31" id="Fact001143" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,686</ix:nonFraction></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 style="font-size: 12pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240101__20240331_zBbZ385qBCol" style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>For the Three Months ended</b></span></td></tr>
  <tr style="vertical-align: bottom">
    <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>March 31,</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td></tr>
  <tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_d0_z5ywiuAQUKZe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 84%; text-align: justify"><span style="font-size: 10pt">Cash from employee withholdings used to purchase ESPP shares</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-size: 10pt">$</span></td>
    <td style="width: 14%; text-align: right"><ix:nonFraction name="duot:CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" contextRef="From2024-01-01to2024-03-31" id="Fact001145" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td></tr>
  <tr id="xdx_409_eus-gaap--EmployeeBenefitsAndShareBasedCompensation_zGVAsWKLuWgc" style="vertical-align: bottom; background-color: white">
    <td style="text-align: justify"><span style="font-size: 10pt">Stock based compensation expense</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EmployeeBenefitsAndShareBasedCompensation" contextRef="From2024-01-01to2024-03-31" id="Fact001147" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,116</ix:nonFraction></td></tr>
  <tr id="xdx_403_ecustom--TotalChargesRelatedToEmployeeStockPurchasePlan_zDnz3nH9T6zg" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify"><span style="font-size: 10pt">Total increase to equity for three months ended March 31, 2024</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="duot:TotalChargesRelatedToEmployeeStockPurchasePlan" contextRef="From2024-01-01to2024-03-31" id="Fact001149" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,116</ix:nonFraction></td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zHVBCd7pGh5l" 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">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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">Stock-based compensation
expense recognized under ASC 718-10 for the three months ended March 31, 2024 and 2023, was $<span id="xdx_905_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zc7F55KMFeNe" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-01-012024-03-31_custom_EmployeesAndDirectorsMember" id="Fact001151" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">141,204</ix:nonFraction></span>
and $<span id="xdx_907_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zPwPocAO2Tfl" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-03-31_custom_EmployeesAndDirectorsMember" id="Fact001153" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">75,128</ix:nonFraction></span>, respectively, for stock options granted to employees. This expense is included in selling, general and administrative expenses
in the unaudited 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
are ultimately expected to vest during the period. At March 31, 2024, the total compensation cost for stock options not yet recognized
was $<span id="xdx_90C_ecustom--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_pp0p0_c20240331_z5Dgb9iQVlJ7" title="Total compensation cost for stock options"><ix:nonFraction name="duot:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" contextRef="AsOf2024-03-31" id="Fact001155" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">438,998</ix:nonFraction></span>. This cost will be recognized over the remaining vesting term of the options ranging from nine months to two and one-half
years.</span></p>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

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

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


<ix:exclude><!-- Field: Page; Sequence: 22 -->
    <div id="xdx_237_zeBzZrweyKD7" 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 id="xdx_239_zemNC8dXc2ac" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

<ix:exclude><p id="xdx_234_zEMlwT80Ufp8" style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"></p></ix:exclude>

<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 <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210511__20210512__us-gaap--PlanNameAxis__custom--Plan2021Member_z9rNGkO47E15" title="Number of shares issued, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2021-05-112021-05-12_custom_Plan2021Member" id="Fact001160" 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. During the third quarter of 2021, the
shareholders approved the issuance of up to one million shares or share equivalents pursuant to the 2021 Plan. The Company filed an S-8
registration statement in concert with the 2021 Plan which was deemed effective on August 5, 2021. The plan covers a period of ten 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">As of March 31, 2024, and December 31, 2023, options
to purchase a total of <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNxLtzmnDHDk" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001162" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></span> (net of forfeitures discussed below) shares of common stock and <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMtAezVA6XA6" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001164" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></span> shares of common stock were
outstanding, respectively. At March 31, 2024, <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zclOPRozYEJg" title="Number of incentive stock options exercisable"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001166" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">766,323</ix:nonFraction></span> options were exercisable. Of the total options issued, <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--PlanNameAxis__custom--Plan2016Member_zV0hoTwlaOy" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31_custom_Plan2016Member" id="Fact001168" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">269,658</ix:nonFraction></span> and <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--Plan2016Member_z2b8Ppkrwjzg" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_custom_Plan2016Member" id="Fact001170" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">269,658</ix:nonFraction></span> options
were outstanding under the 2016 Equity Incentive Plan, <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240331__us-gaap--PlanNameAxis__custom--Plan2021Member_zTl999F3GKVh" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31_custom_Plan2021Member" id="Fact001172" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">788,117</ix:nonFraction></span> and <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--Plan2021Member_zdZOIMinHuYf" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_custom_Plan2021Member" id="Fact001174" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">788,117</ix:nonFraction></span> were outstanding under the 2021 Plan and a further <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--PlanNameAxis__custom--NonPlanMember_z9gxAmp8Zxyf" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31_custom_NonPlanMember" id="Fact001176" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">330,000</ix:nonFraction></span>
and <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--NonPlanMember_zEZxgvOCytH3" title="Number of incentive stock options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_custom_NonPlanMember" id="Fact001178" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">330,000</ix:nonFraction></span> non-plan options to purchase common stock were outstanding as of March 31, 2024 and December 31, 2023, respectively. The non-plan
options were granted to four executives as hiring incentives, including the Company&#8217;s CEO in the fourth quarter of 2020.</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>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001180" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_885_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z2NSvuLDPiRl" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left; vertical-align: bottom"><span id="xdx_8BA_zPlw08DxcvR8" style="display: none">Schedule of stock option issuance of shares</span></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><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td>&#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 colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td>&#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 colspan="2" style="text-align: left; vertical-align: bottom">&#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">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 colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td style="padding-bottom: 1pt">&#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">Options</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="vertical-align: bottom; width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 46%; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2022</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1KmbA2wUXUa" title="Outstanding beginning balance" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001182" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">926,266</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zP6hBQUlmwJ5" title="Weighted average exercise price,  Outstanding beginning balance" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001184" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.74</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right"><span id="xdx_902_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zx9hF3LnqXec" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001186" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1">3.3</ix:nonNumeric></span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zUB4Gc66RBki" title="Aggregate intrinsic value, Outstanding beginning balance" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001188" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Granted</span></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 id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zzPlZ0tw8Wvc" title="Number of options, Granted" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001190" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">463,117</ix:nonFraction></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">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIiUAoi3QFZj" title="Weighted average exercise price, Granted" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001192" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.22</ix:nonFraction></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"><span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zEGJpUk39iE9" title="Weighted average remaining contractual term (Years), Granted"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001194" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2">4.35</ix:nonNumeric></span></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">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; 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; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Forfeited</span></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOBL9mgOpGjc" title="Number of options, Forfeited" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001196" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,608</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zuWBQc1QAGWh" title="Weighted average exercise price, Forfeited" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001198" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">14.00</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2023</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zBN3UEPdvYTi" title="Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001200" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZFyKsUZ8dMg" title="Weighted average exercise price,  Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001202" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.23</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zhI02mTDoZLf" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001204" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.0</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd2V8Ax2WKYc" title="Aggregate intrinsic value, Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001206" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercisable at December 31, 2023</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zS1ErKCT33U8" title="Number of options, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001208" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">581,324</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpWGuNrfZhCk" title="Weighted average exercise price, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001210" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.38</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfyd6LZL3mF3" title="Weighted average remaining contractual term (Years), Exercisable"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001212" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">1.8</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zycCOal3BqY5" title="Aggregate intrinsic value, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001214" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2023</span></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 id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYB5j0wWyI61" title="Outstanding beginning balance" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001216" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></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">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAWOX4sBG8o3" title="Weighted average exercise price,  Outstanding beginning balance" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001218" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.23</ix:nonFraction></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"><span id="xdx_908_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zHgpkZgr3zT6" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001220" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1">3.0</ix:nonNumeric></span></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">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zFMifSaFxdTh" title="Aggregate intrinsic value, Outstanding beginning balance" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001222" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Granted</span></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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKBomTOhmQL4" title="Number of options, Granted" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001224" format="ixt:zerodash" decimals="INF" unitRef="Shares">&#8212;</ix:nonFraction></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">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNBt7aAxbpE1" title="Weighted average exercise price, Granted" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001226" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></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">&#8212;</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">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; 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; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercised/Forfeited/Expired</span></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTFilSTLimt7" title="Number of options, Exercised/Forfeited/Expired" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001228" format="ixt:zerodash" decimals="INF" sign="-" unitRef="Shares">&#8212;</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJWI1DkBjFAb" title="Weighted average exercise price, Exercised/forfeited/expired" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001230" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at March 31, 2024</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxT2qOkQl6ha" title="Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001232" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKztujvyNpVi" title="Weighted average exercise price,  Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001234" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.23</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztq4pXpZVvZh" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001236" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">2.8</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgwFL3l5z6r5" title="Aggregate intrinsic value, Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001238" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercisable at March 31, 2024</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeyd6978FJbb" title="Number of options, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001240" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">766,323</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXWyvXRDJ98f" title="Weighted average exercise price, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001242" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.55</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztcSc9wkPo92" title="Weighted average remaining contractual term (Years), Exercisable"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001244" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">1.8</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKuDjjodo7qk" title="Aggregate intrinsic value, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001246" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</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">&#160;<b><span style="text-decoration: underline">Warrants</span></b></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001248" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zscM8BVqHDCg" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BF_zQdhWT3Nh4Zg" style="display: none">Schedule of warrants outstanding</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>&#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%; font-size: 10pt">Outstanding at December 31, 2022</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgsxGyN2UUU5" title="Outstanding beginning balance" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact001250" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">80,091</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbrF3FJ67R27" title="Weighted average exercise price, Outstanding beginning balance" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact001252" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.63</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right"><span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zasvs8F7l7p7" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact001254" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">0.8</ix:nonNumeric></span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zFtzsfEJee1j" title="Aggregate intrinsic value, Outstanding beginning balance" style="width: 10%; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact001256" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZYcBuKR5Dhh" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised" style="font-size: 10pt; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="Fact001258" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">102,947</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">)</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td id="xdx_98E_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zsvfoIz26L5k" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"><ix:nonFraction name="duot:WarrantsExpiredForfeitedCancelledOrExercised" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="Fact001260" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Warrants issued</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zI9obmMeR794" title="Number of warrants, Warrants issued" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ConversionOfStockSharesIssued1" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="Fact001262" format="ixt:zerodash" decimals="INF" scale="0" unitRef="Shares">&#8212;</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zM0ZiX5gva9h" title="Weighted average exercise price, Warrants issued" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="Fact001264" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGHpay5CkLna" title="Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001266" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">44,644</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zTofU3GzrjMa" title="Weighted average exercise price, Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001268" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1k4WAnm8ege" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact001270" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">0.7</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWqpyFccTn47" title="Aggregate intrinsic value, Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001272" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmuefweR5rf1" title="Number of warrants, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001274" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">44,644</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJjvrRBeWzwc" title="Weighted average exercise price, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001276" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zY8xiAPkb3bf" title="Weighted average remaining contractual term (Years), Exercisable"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact001278" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">0.7</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWQCv3LFCD95" title="Aggregate intrinsic value, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001280" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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 style="font-size: 10pt">Outstanding at December 31, 2023</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zvjv5Pdpwrfg" title="Outstanding beginning balance" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001282" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">44,644</ix:nonFraction></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">$</td><td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJHVXSreUDB6" title="Weighted average exercise price, Outstanding beginning balance" style="font-size: 10pt; text-align: right"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001284" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></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"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8Q36rLJ4IW5" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact001286" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">0.7</ix:nonNumeric></span></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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z57J6Po3gSt1" title="Aggregate intrinsic value, Outstanding beginning balance" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact001288" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zROfOS6uA1z3" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised" style="font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember" id="Fact001290" format="ixt:zerodash" decimals="INF" scale="0" sign="-" unitRef="Shares">&#8212;</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td id="xdx_98F_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z3AxOYWbrv4d" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"><ix:nonFraction name="duot:WarrantsExpiredForfeitedCancelledOrExercised" contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember" id="Fact001292" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Warrants issued</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zNqZ5awzyZf2" title="Number of warrants, Warrants issued" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ConversionOfStockSharesIssued1" contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember" id="Fact001294" format="ixt:zerodash" decimals="INF" scale="0" unitRef="Shares">&#8212;</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zfM1NRJyMQmj" title="Weighted average exercise price, Warrants issued" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice" contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember" id="Fact001296" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Outstanding at March 31, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zjZ1vgCxFYlb" title="Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31_us-gaap_WarrantMember" id="Fact001298" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">44,644</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zifklVr0PSN5" title="Weighted average exercise price, Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" contextRef="AsOf2024-03-31_us-gaap_WarrantMember" id="Fact001300" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zwSfftxRsYtd" title="Weighted average remaining contractual term (Years)"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact001302" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">0.5</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuje6OQ157Ra" title="Aggregate intrinsic value, Outstanding ending balance" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" contextRef="AsOf2024-03-31_us-gaap_WarrantMember" id="Fact001304" format="ixt:zerodash" decimals="INF" unitRef="USDPShares">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Exercisable at March 31, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJ0w0RboN56" title="Number of warrants, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-03-31_us-gaap_WarrantMember" id="Fact001306" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">44,644</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z5dEkmOr9R64" title="Weighted average exercise price, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2024-03-31_us-gaap_WarrantMember" id="Fact001308" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zDuCGXvcYmA9" title="Weighted average remaining contractual term (Years), Exercisable"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact001310" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">0.5</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk2b74EfdENb" title="Aggregate intrinsic value, Exercisable" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2024-03-31_us-gaap_WarrantMember" id="Fact001312" format="ixt:zerodash" decimals="0" unitRef="USD">&#8212;</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

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

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


<ix:exclude><!-- Field: Page; Sequence: 23 -->
    <div id="xdx_23E_zMdpBgv8ZJyk" 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 id="xdx_236_zzkop4niKg3f" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001316" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><p id="xdx_80C_eus-gaap--RevenueFromContractWithCustomerTextBlock_z4AmkX1afXx1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 6 - <span id="xdx_825_zOqdpbWozWA3">REVENUE AND CONTRACT ACCOUNTING</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">Revenue Recognition and Contract Accounting</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">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">&#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 cost incurred to total estimated costs.</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">At March 31, 2024 and December 31, 2023, contract
assets on uncompleted contracts consisted of the following:</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001318" name="duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_883_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zFaJKAcwuaMh" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B1_z4PqynwAYAwe" style="display: none">Schedule of contract assets on
uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20240331_zvdmp9ztZgTk" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_z255Gwkiugb9" 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>March 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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>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="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_400_ecustom--CumulativeRevenueRecognized_iI_pp0p0_maCWCANzFM7_zCK4nX2zzQeg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; font-size: 10pt; text-align: justify">Cumulative revenues recognized</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:CumulativeRevenueRecognized" contextRef="AsOf2024-03-31" id="Fact001320" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,090,355</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:CumulativeRevenueRecognized" contextRef="AsOf2023-12-31" id="Fact001321" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,820,256</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zbnX8ctwvj6l" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Less: Billings or cash received</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="duot:BillingsOrCashReceived" contextRef="AsOf2024-03-31" id="Fact001323" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,178,309</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="duot:BillingsOrCashReceived" contextRef="AsOf2023-12-31" id="Fact001324" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,178,309</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zYdx2he8tHh2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt">Contract assets</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2024-03-31" id="Fact001326" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">912,046</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2023-12-31" id="Fact001327" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">641,947</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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"><b><span style="text-decoration: underline">Contract Liabilities</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">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, which recognizes revenues based on the ratio of the cost 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">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">At March 31, 2024 and December 31, 2023, contract
liabilities on uncompleted contracts and contract liabilities on services and consulting consisted of the following:</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001329" name="duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zAnkaKICg8H5" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B1_zMhmUjDy4549" style="display: none">Schedule of contract liabilities
on uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49D_20240331_zDFirvnDEwWd" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_490_20231231_z5TmcVQQQru5" 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>March 31, </b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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>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="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_maCLTSzZSN_znoUEvp2VIK9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; font-size: 10pt; text-align: justify">Billings and/or cash receipts on uncompleted contracts</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:BillingsAndorCashReceiptsOnUncompletedContracts" contextRef="AsOf2024-03-31" id="Fact001331" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,264,658</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:BillingsAndorCashReceiptsOnUncompletedContracts" contextRef="AsOf2023-12-31" id="Fact001332" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,264,658</ix:nonFraction></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--CumulativeRevenuesRecognized_iNI_pp0p0_di_msCLTSzZSN_z102RUas0ln3" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Less: Cumulative revenues recognized</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="duot:CumulativeRevenuesRecognized" contextRef="AsOf2024-03-31" id="Fact001334" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">199,976</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(<ix:nonFraction name="duot:CumulativeRevenuesRecognized" contextRef="AsOf2023-12-31" id="Fact001335" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">199,976</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_mtCLTSzZSN_maCWCLz9Ae_zdue4UgPKeml" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Contract liabilities, technology systems</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"><ix:nonFraction name="duot:ContractLiabilitiesTechnologiesSystems" contextRef="AsOf2024-03-31" id="Fact001337" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,064,682</ix:nonFraction></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"><ix:nonFraction name="duot:ContractLiabilitiesTechnologiesSystems" contextRef="AsOf2023-12-31" id="Fact001338" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,064,682</ix:nonFraction></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ContractLiabilitiesServicesAndConsulting_iI_maCWCLz9Ae_zkYJ398sA3ed" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Contract liabilities, services and consulting</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:ContractLiabilitiesServicesAndConsulting" contextRef="AsOf2024-03-31" id="Fact001340" format="ixt:numdotdecimal" decimals="0" unitRef="USD">628,258</ix:nonFraction></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><ix:nonFraction name="duot:ContractLiabilitiesServicesAndConsulting" contextRef="AsOf2023-12-31" id="Fact001341" format="ixt:numdotdecimal" decimals="0" unitRef="USD">601,561</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ContractWithCustomerLiability_iTI_mtCWCLz9Ae_z3deCY3JPcxk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt">Total contract liabilities</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2024-03-31" id="Fact001343" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,692,940</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-12-31" id="Fact001344" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,666,243</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">Contract liabilities at December 31, 2023 were $<span id="xdx_90A_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20231231_zBUWXm48d6tl" title="Contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact001346" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,666,243</ix:nonFraction></span>;
of which zero <span id="xdx_90B_ecustom--ContractLiabilitiesForTechnologiesSystems_iI_c20231231_zLlsthqmnMkk" title="Contract liabilities for technology systems"><b style="display: none"><ix:nonFraction name="duot:ContractLiabilitiesForTechnologiesSystems" contextRef="AsOf2023-12-31" id="Fact001348" format="ixt:numdotdecimal" decimals="0" unitRef="USD">0</ix:nonFraction></b></span> for technology
systems and $<span id="xdx_903_ecustom--ServicesAndConsultingRecognized_iI_pp0p0_c20240331_z1rGFs5flM5e" title="Services and consulting recognized"><ix:nonFraction name="duot:ServicesAndConsultingRecognized" contextRef="AsOf2024-03-31" id="Fact001350" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">292,947</ix:nonFraction></span> in services and consulting have been recognized as of March 31, 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">The Company expects to recognize all contract liabilities
within 12 months from the respective consolidated balance sheet date.</p>

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

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


<ix:exclude><!-- Field: Page; Sequence: 24 -->
    <div id="xdx_230_zFUK3FcClJXf" 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 id="xdx_233_zJyittMOnvx3" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<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>Disaggregation of Revenue </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">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"><b>&#160;</b></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"><b>&#160;</b></p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-size: 10pt">1.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">We have four distinct revenue sources:</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">a.</span></td>
    <td><span style="font-size: 10pt">Technology Systems (Turnkey, engineered projects);</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">b.</span></td>
    <td><span style="font-size: 10pt">AI Technology (Associated maintenance and support services);</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">c.</span></td>
    <td><span style="font-size: 10pt">Technical Support (Licensing and professional services related to auditing of data center assets); and</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">d.</span></td>
    <td><span style="font-size: 10pt">Consulting Services (Predetermined algorithms to provide important operating information to the users of our systems).</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-size: 10pt">2.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">We currently operate in North America including the USA, Mexico and Canada.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-size: 10pt">3.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Our customers include rail transportation, commercial, government, banking and IT suppliers.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt 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-size: 10pt">4.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Our services &amp; maintenance contracts are fixed price and fall into two duration types:</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">a.</span></td>
    <td><span style="font-size: 10pt">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</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">b.</span></td>
    <td><span style="font-size: 10pt">Maintenance and support contracts ranging from one to five years in length.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<ix:exclude><p id="xdx_233_zUcjJIVRLQJ8" style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 6pt">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 25 -->
    <div id="xdx_23E_zJfW1jKZId3a" 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 id="xdx_236_zLVvij3u7Kyj" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

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

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0"></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"><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 Three Months Ended March 31, 2024</span></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"><b></b></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001356" name="us-gaap:DisaggregationOfRevenueTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_891_eus-gaap--DisaggregationOfRevenueTableTextBlock_zOd7f1h0lyKd" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B5_zgD7Vai63pUl" style="display: none">Schedule of disaggregation of revenue</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>
    <td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Segments</b></span></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>Rail</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>Commercial</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>Government</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>Artificial Intelligence</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>Total</b></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Primary Geographical Markets</b></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>
    <td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td>
    <td>&#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>
    <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: #CCEEFF">
    <td style="width: 35%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">North America</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zgFFcpCg6vm" title="Revenue" style="border-bottom: black 2.25pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_RailMember" id="Fact001358" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,067,449</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjVlQHHovzQj" title="Revenue" style="border-bottom: black 2.25pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_CommercialMember" id="Fact001360" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,231</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zJN1JB6i9qj1" title="Revenue" style="border-bottom: black 2.25pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_GovernmentsMember" id="Fact001362" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXw7r9SrENx5" title="Revenue" style="border-bottom: black 2.25pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember" id="Fact001364" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_z97uSTN4WmI" title="Revenue" style="border-bottom: black 2.25pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember" id="Fact001366" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,070,680</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <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: bottom; background-color: #CCEEFF">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Major Goods and Service Lines</b></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <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: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Turnkey Projects</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zMN39a9n3kdh" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_RailMember" id="Fact001368" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">270,099</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zPTppSbyUsK5" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_CommercialMember" id="Fact001370" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zBED3tlOOfE9" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember" id="Fact001372" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zEc725hEygTb" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember" id="Fact001374" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zl8SrvSPLpja" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember" id="Fact001376" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">270,099</ix:nonFraction></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">Maintenance and Support</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zOjXvMXIbYp1" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_RailMember" id="Fact001378" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">601,379</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zrjcyLHmHlHc" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_CommercialMember" id="Fact001380" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,231</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zyKGtzj5mCm" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember" id="Fact001382" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zDiC9FiLXt69" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember" id="Fact001384" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zNbc48XirTPj" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember" id="Fact001386" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">604,610</ix:nonFraction></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">Algorithms</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zx6gT6X7v8ng" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_RailMember" id="Fact001388" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,971</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQxtucFbndE2" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_CommercialMember" id="Fact001390" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKqXL1ojM0Te" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_GovernmentsMember" id="Fact001392" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuE6RNrVlKz2" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember" id="Fact001394" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zIK2bzYGTkk7" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember" id="Fact001396" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">195,971</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zfhFEsESE40d" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_RailMember" id="Fact001398" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,067,449</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQSx2I9w9mee" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_CommercialMember" id="Fact001400" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,231</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkTHmDFagmja" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_GovernmentsMember" id="Fact001402" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td style="border-bottom: black 2.25pt double">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_ziIKfaDmYk28" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-03-31" id="Fact001404" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,070,680</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <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: bottom; background-color: white">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Timing of Revenue Recognition</b></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <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: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goods transferred over time</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zAoLyGSR71Bf" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_RailMember_custom_GoodsTransferredOverTimeMember" id="Fact001406" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">270,099</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zKPhWMbH75lj" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember" id="Fact001408" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z4O1KYVSFUZ8" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember" id="Fact001410" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z0jclwuQEFwg" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember" id="Fact001412" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zblf0eYko9ek" title="Revenue" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_GoodsTransferredOverTimeMember" id="Fact001414" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">270,099</ix:nonFraction></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">Services transferred over time</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zSB0cK14vUq7" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_RailMember_custom_ServicesTransferredOverTimeMember" id="Fact001416" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">797,350</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zs0KWFZ1DnGa" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember" id="Fact001418" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,231</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zbC1BqIqv9mc" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember" id="Fact001420" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zxVV9dOtWgfj" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><span style="-sec-ix-hidden: xdx2ixbrl1422">&#8212;</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zsClrDQKyg9l" title="Revenue" style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_ServicesTransferredOverTimeMember" id="Fact001424" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">800,581</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zykhmdc05tya" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_RailMember" id="Fact001426" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,067,449</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zbC1V9S0AWFj" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_CommercialMember" id="Fact001428" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,231</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zAr2mzDnlW8k" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_GovernmentsMember" id="Fact001430" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zcovcprtfC83" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><span style="-sec-ix-hidden: xdx2ixbrl1432">&#8212;</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_zWCwyoBFJEc3" title="Revenue" style="border-bottom: black 2.25pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-03-31" id="Fact001434" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,070,680</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b>&#160;</p>

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

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


<ix:exclude><!-- Field: Page; Sequence: 26 -->
    <div id="xdx_23D_zKbzVgGJBOb3" 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 id="xdx_23B_ziQ6XwQYIYtk" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Three Months Ended March 31, 2023</span></b></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <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><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="border-bottom: Black 1pt solid; font-size: 10pt; 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 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: 10pt; 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: 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></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><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: 35%; font-size: 10pt; 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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zoXrJnzrGiPk" title="Revenue" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_RailMember" id="Fact001439" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,376,449</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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z4MeuOdl0sg1" title="Revenue" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_CommercialMember" id="Fact001441" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">28,831</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKIUXYerWKd1" title="Revenue" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_GovernmentsMember" id="Fact001443" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXV8Md2VG4Jk" title="Revenue" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember" id="Fact001445" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">227,655</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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlHTc95EwRvi" title="Revenue" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember" id="Fact001447" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,644,288</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: 10pt; 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>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; 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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zEHG9QLtqLub" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_RailMember" id="Fact001449" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,827,764</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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zdMkyRjLywHf" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_CommercialMember" id="Fact001451" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zDJhHvJmNpkj" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember" id="Fact001453" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zF9kb1xaB0L" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember" id="Fact001455" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zN3TmrGkQHa4" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember" id="Fact001457" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,827,764</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: 10pt; text-align: left">Maintenance and Support</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zsu8HPSNxuS1" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_RailMember" id="Fact001459" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">548,685</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ43WoXhvS5d" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_CommercialMember" id="Fact001461" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">28,831</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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zfT6Nz5pFGLg" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember" id="Fact001463" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z00nQ4Yzw4Lb" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember" id="Fact001465" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zYojEBhe7BD4" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember" id="Fact001467" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">588,869</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: 10pt; 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhVyCkt1YWz5" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_RailMember" id="Fact001469" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zOpAb0jXPzb" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_CommercialMember" id="Fact001471" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_ztUdU9scSdf9" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_GovernmentsMember" id="Fact001473" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z3NLzFYqteua" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember" id="Fact001475" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">227,655</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_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zarZq4SEOyg2" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember" id="Fact001477" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">227,655</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z5RQM8menEU1" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_RailMember" id="Fact001479" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,376,449</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwHSMXJ0Pyod" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_CommercialMember" id="Fact001481" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">28,831</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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zk49PIVTYkid" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_GovernmentsMember" id="Fact001483" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z8aT8UmQF0f7" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember" id="Fact001485" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">227,655</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331_zs4SLK6W9J04" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31" id="Fact001487" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,644,288</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: 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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="border-bottom: Black 1pt solid; font-size: 10pt; 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: 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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zz9jIF24V0aj" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_RailMember_custom_GoodsTransferredOverTimeMember" id="Fact001489" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,827,764</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zzmbGs5sHTEg" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember" id="Fact001491" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_pp0p0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z38ESOTBvep" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember" id="Fact001493" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zP8ZmLcxiWs6" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember" id="Fact001495" format="ixt:zerodash" decimals="0" scale="0" unitRef="USD">&#8212;</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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zV8mRpQ8Qjef" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_GoodsTransferredOverTimeMember" id="Fact001497" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,827,764</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: 10pt; 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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZpTNzm8rQv1" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_RailMember_custom_ServicesTransferredOverTimeMember" id="Fact001499" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">548,685</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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zoAv5sP5blol" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember" id="Fact001501" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">28,831</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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuOzgpHXqPpk" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember" id="Fact001503" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zB9fl5QxqSOd" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember" id="Fact001505" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">227,655</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_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuFYERutrcw8" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_ServicesTransferredOverTimeMember" id="Fact001507" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">816,524</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zXYIZufwAEmk" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_RailMember" id="Fact001509" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,376,449</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zpozpVziH4Ti" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_CommercialMember" id="Fact001511" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">28,831</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zxiXWxQQP947" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_GovernmentsMember" id="Fact001513" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zVjElz1sUgrd" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember" id="Fact001515" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">227,655</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_c20230101__20230331_z6fGVnyoLuG9" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31" id="Fact001517" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,644,288</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  </table>

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

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

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


<ix:exclude><!-- Field: Page; Sequence: 27 -->
    <div id="xdx_23A_zJzXW3y2c0G7" 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 id="xdx_238_znnjARc4xV98" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001521" name="us-gaap:DefinedContributionPlanTextBlock"><p id="xdx_809_eus-gaap--DefinedContributionPlanTextBlock_z84l6xa9PFoi" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 7 &#8211; <span id="xdx_82E_z02Kb5QSDPOc">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
three months ended March 31, 2024, the Company matched 100% of the first 4% of eligible employee compensation that was contributed
to the 401(k) Plan. For the three months ended March 31, 2024, the Company recognized expense for matching cash contributions to the 401(k)
Plan totaling $<span id="xdx_902_eus-gaap--DefinedBenefitPlanServiceCost_pp0p0_c20240101__20240331_zFjLTjBaRPD3" title="Cash contributions"><ix:nonFraction name="us-gaap:DefinedBenefitPlanServiceCost" contextRef="From2024-01-01to2024-03-31" id="Fact001523" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">55,099</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="From2024-01-01to2024-03-31" escape="true" id="Fact001525" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock"><p id="xdx_808_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z5Jtj62U3sw" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 8 &#8211; <span id="xdx_820_zHfKsxtK6qkf">RELATED PARTY TRANSACTIONS</span></b></p>

<p style="font: 11pt 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">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"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001527" name="duot:SaleOfAssetsTextBlock"><p id="xdx_802_ecustom--SaleOfAssetsTextBlock_zk4JuWZa71j2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 9 &#8211; <span id="xdx_820_zDOT57vAhoUl">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 and now current Chief Financial Officer is a director. Said 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_908_ecustom--PrincipalAmount_pp0p0_c20240101__20240331_z4uOjU5YCly1" title="Principal amount"><ix:nonFraction name="duot:PrincipalAmount" contextRef="From2024-01-01to2024-03-31" id="Fact001529" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">165,000</ix:nonFraction></span> with a <span id="xdx_906_ecustom--OriginalIssueDiscount_dp_c20240101__20240331_zHI7LuRSW6Je" title="Original issue discount"><ix:nonFraction name="duot:OriginalIssueDiscount" contextRef="From2024-01-01to2024-03-31" id="Fact001531" 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_90C_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20240331_zYuXpxR8qLV8" title="Conversion price"><ix:nonFraction name="us-gaap:DebtInstrumentConvertibleConversionPrice1" contextRef="AsOf2024-03-31" id="Fact001533" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.003</ix:nonFraction></span>
or <span id="xdx_901_eus-gaap--CommonStockDividendsShares_c20240101__20240331_zk75FYt03RNk" title="Common stock shares"><ix:nonFraction name="us-gaap:CommonStockDividendsShares" contextRef="From2024-01-01to2024-03-31" id="Fact001535" 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_902_ecustom--PurchaseOfCommonStockWarrants_c20240101__20240331_zFZ5PEBI21t6" title="Purchase of common stock warrants"><ix:nonFraction name="duot:PurchaseOfCommonStockWarrants" contextRef="From2024-01-01to2024-03-31" id="Fact001537" 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_c20240101__20240331_z9cf3HkcFwk5" title="Exercise price"><ix:nonFraction name="us-gaap:WarrantExercisePriceIncrease" contextRef="From2024-01-01to2024-03-31" id="Fact001539" 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_c20240101__20240331_zPXSbL6B6rT7" title="Sale of asset"><ix:nonFraction name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" contextRef="From2024-01-01to2024-03-31" id="Fact001541" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">150,000</ix:nonFraction></span>, which is included in other income 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">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">The note receivable was recorded as follows on March
31, 2024:</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001543" name="duot:ScheduleOfNoteReceivableTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_884_ecustom--ScheduleOfNoteReceivableTableTextBlock_z02hNZnbWt0e" summary="xdx: Disclosure - SALE OF ASSETS (Details)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt"><span id="xdx_8B2_zK1CoC8ZFxF4" style="display: none">Schedule of note receivable</span></td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240331_zTtV1DP8klKf" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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>March 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_zDygfZ13bA0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 83%; text-align: justify">Convertible note 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="duot:ConvertibleNoteReceivable" contextRef="AsOf2024-03-31" id="Fact001545" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">165,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zWBvX2puWvs4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Unamortized discount</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:DebtInstrumentUnamortizedDiscount" contextRef="AsOf2024-03-31" id="Fact001547" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,375</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zdbwpySGePwb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Convertible note 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="duot:ConvertibleNoteReceivableNet" contextRef="AsOf2024-03-31" id="Fact001549" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">155,625</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>&#160;</b></p>

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


<ix:exclude><!-- Field: Page; Sequence: 28 -->
    <div id="xdx_23C_zuin7v1D0cNk" 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 id="xdx_233_zgv39Umx7Ezi" 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>CONDENSED NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>(Unaudited)</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23E_zXbwvXe7Gdwd" style="font: 4pt Times New Roman, Times, Serif; margin: 0"></p></ix:exclude>

<ix:exclude><p id="xdx_236_zBIsKLRfLJHg" 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></b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001554" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_z4CzmN149SNd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 10 &#8211; <span id="xdx_827_zo2dXug8NHq6">SUBSEQUENT EVENTS</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 April 3, 2024, the Company received aggregate proceeds
of $<span id="xdx_908_eus-gaap--SaleOfStockConsiderationReceivedOnTransaction_c20240402__20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z5P8E5PotLx5" title="Aggregate proceeds"><ix:nonFraction name="us-gaap:SaleOfStockConsiderationReceivedOnTransaction" contextRef="From2024-04-022024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember" id="Fact001556" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,000</ix:nonFraction></span> related to the sale of <span id="xdx_90F_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240402__20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zE2jUOehqov5" title="Sale of stock, shares"><ix:nonFraction name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" contextRef="From2024-04-022024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember" id="Fact001558" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">250</ix:nonFraction></span> shares of Series D Preferred Stock. The Series D Preferred Stock is convertible into Common Stock
at a conversion price of $<span id="xdx_90A_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zH4XU4YRfDyi" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember" id="Fact001560" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span> per share.</p>

<p style="font: 10pt Times New 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 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 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;)).</p>

<p style="font: 10pt Times New 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 23, 2024, the Company changed the name of
its dormant subsidiary &#8220;Duos Technologies International, Inc.&#8221; to &#8220;Duos Edge AI, Inc.&#8221;</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 April 23, 2024, a holder of our Series D Preferred
Stock converted <span id="xdx_902_eus-gaap--ConversionOfStockSharesConverted1_c20240422__20240423__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zCr0r961G7D" title="Conversion of shares"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-04-222024-04-23_us-gaap_SeriesDPreferredStockMember" id="Fact001562" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">225</ix:nonFraction></span> shares of Series D Preferred Stock into <span id="xdx_90B_eus-gaap--ConversionOfStockSharesConverted1_c20240422__20240423__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zJ0CPepFDFSh" title="Conversion of shares"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-04-222024-04-23_us-gaap_CommonStockMember" id="Fact001564" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">75,000</ix:nonFraction></span> shares of Common 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 April 30, 2024, two holders of our Series D
Preferred Stock converted an aggregate of <span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240429__20240430__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zWdQuyS4cvmg" title="Conversion of shares"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-04-292024-04-30_us-gaap_SeriesDPreferredStockMember" id="Fact001566" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">350</ix:nonFraction></span>
shares of Series D Preferred Stock into <span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240429__20240430__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zLH9JFUzK4C2" title="Conversion of shares"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-04-292024-04-30_us-gaap_CommonStockMember" id="Fact001568" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">116,668</ix:nonFraction></span>
shares of Common Stock.</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">On May 7, 2024, a holder of our Series D Preferred Stock converted
<span id="xdx_907_eus-gaap--ConversionOfStockSharesConverted1_c20240506__20240507__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zolSaWfPGOI2" title="Conversion of shares"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-05-062024-05-07_us-gaap_SeriesDPreferredStockMember" id="Fact001570" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">75</ix:nonFraction></span> shares of Series D Preferred Stock into <span id="xdx_901_eus-gaap--ConversionOfStockSharesConverted1_c20240506__20240507__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_z3T8iZWOA3Ij" title="Conversion of shares"><ix:nonFraction name="us-gaap:ConversionOfStockSharesConverted1" contextRef="From2024-05-062024-05-07_us-gaap_CommonStockMember" id="Fact001572" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">25,000</ix:nonFraction></span> shares of Common Stock.</p>

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

</ix:nonNumeric><p id="xdx_817_z3JdTa2lZRU4" 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; color: #1D2228">&#160;</p>

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


<!-- Field: Page; Sequence: 29; Options: NewSection -->
    <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; Value: 27; 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 0 8pt"><b></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>This quarterly report on Form 10-Q and other reports
filed by Duos Technologies Group, Inc., and its operating subsidiary, Duos Technologies, Inc. (&#8220;Duos&#8221;) (Duos Technologies
Group, Inc. and Duos, collectively the &#8220;Company&#8221; &#8220;we&#8221;, &#8220;our&#8221;, and &#8220;us&#8221;) 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. 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; &#8220;aim,&#8221; &#8220;project,&#8221;
&#8220;target,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;should,&#8221; &#8220;forecast&#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
typically address the Company&#8217;s expected future business and financial performance and are subject to risks, uncertainties, assumptions,
and other factors, including the risks contained in the &#8220;Risk Factors&#8221; section of the Company&#8217;s Annual Report on Form
10-K for the fiscal year ended December 31, 2023, relating to the Company&#8217;s industry, the Company&#8217;s operations and results
of operations, and any businesses that the Company may acquire. Should one or more of these risks or uncertainties materialize, or should
the underlying assumptions prove incorrect, actual results may differ materially from those anticipated, believed, estimated, expected,
intended, or planned.</i></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i></i></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>These factors include, but are not limited to,
risks related to the Company&#8217;s ability to continue as a going concern, the Company&#8217;s ability to generate sufficient cash to
continue and expand operations, the competitive environment generally and in the Company&#8217;s 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 the Company&#8217;s specific market areas, changes in federal, state and/or local government laws and regulations potentially affecting
the use of the Company&#8217;s technology, changes in operating strategy or development plans and the ability to attract and retain qualified
personnel. The Company cautions that the foregoing list of risks, uncertainties and factors is not exclusive. Additional information concerning
these and other risk factors is contained in the Company&#8217;s most recently filed Annual Report on Form 10-K, subsequent Quarterly
Reports on Form 10-Q, recent Current Reports on Form 8-K, and other filings filed by the Company with the SEC, which are available at
the SEC&#8217;s website, http://www.sec.gov. The Company believes its plans, intentions and expectations reflected in or suggested by
these forward-looking statements are based on reasonable assumptions. No assurance, however, can be given that the Company will achieve
or realize these plans, intentions or expectations. Indeed, it is likely that some of the Company&#8217;s assumptions may prove to be
incorrect. The Company&#8217;s actual results and financial position may vary from those projected or implied in the forward-looking statements
and the variances may be material. Each forward-looking statement speaks only as of the date of the particular statement. We do not undertake
or accept any obligation or undertaking to release publicly any updates or revisions to any forward-looking statements to reflect any
change in our expectations or any change in events, conditions or circumstances on which any forward-looking statement is based, except
as required by law. All subsequent written and oral forward-looking statements concerning the Company or other matters attributable to
the Company or any person acting on its behalf are expressly qualified in their entirety by the cautionary statements above.</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"><i>Our 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 financial statements as well as the reported
amounts of revenues and expenses during the periods presented. Our 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. The following discussion should be read
in conjunction with our financial statements and notes thereto appearing elsewhere in this report.</i></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>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 duostech,
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.&#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: 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 -->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">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; background-color: white"><b>&#160;</b></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 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. The Company is not currently actively pursing further customers for ALIS but will continue to analyze
the potential market and expects to deploy an upgraded Truck Inspector Portal (TIP) which uses the same technology and lessons learned
from ALIS and RIP systems at some point in the future.</p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify; background-color: white">&#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.centraco&#174; 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. truevue360&#8482; 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: 11pt Aptos; margin: 0; text-align: justify; background-color: white"></p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify; background-color: white">&#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; text-align: justify; background-color: white">&#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; background-color: white">&#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: 11pt Aptos; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The year 2022 ushered in a new phase in the Company&#8217;s
development. Although we continue to see an extension of challenges faced in past years, 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; background-color: white">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; width: 100%; margin-top: 0; margin-bottom: 0; background-color: white"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.25in"><span style="font-family: Symbol; font-size: 10pt">&#183;</span></td><td style="text-align: justify"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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.</span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td></tr></table>

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

<table cellpadding="0" cellspacing="0" style="font: 11pt/200% Aptos; width: 100%; margin-top: 0; margin-bottom: 0; background-color: white"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.25in"><span style="font-family: Symbol; font-size: 10pt">&#183;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Owning
                                            and operating a network of RIPs with multiple subscribers outside of the Company&#8217;s
                                            traditional customer base. </span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; width: 100%; margin-top: 0; margin-bottom: 0; background-color: white"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.25in"><span style="font-family: Symbol">&#183;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling
                                            customized RIPs to Class 1, short-line and other industrial companies where specialized applications
                                            or routes demand a bespoke solution</span>.</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">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#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 -->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 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 for the last several years was to improve operational and technical execution which will continue into the foreseeable future.
This we expect will enable the commercial side of the business to expand delivery of the Company&#8217;s products and services into
existing customers and to expand and diversify our current customer base as well as enter new markets. 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 for current and planned offerings 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 an
increasing 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">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.
In addition, the Company is expanding its offerings by taking subsets of its integrated RIP and associated products and pursuing revenues
outside of its traditional markets. Both the products upgrades and the additional offerings 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: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">The Company expanded its
focus in the rail industry to encompass passenger transportation and was awarded a large, multi-year contract with a national rail carrier
in 2022. The Company has been developing and constructing the enhanced systems for this contract and anticipates that it will install
a high performance, two-RIP solution for the carrier in 2024, with a long-term services agreement commencing upon delivery of the system.</p>

<p style="font: 10pt Times New 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&#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; of our Annual Report on Form 10-K filed with the SEC on April 1, 2024.</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>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 unaudited 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>Comparison for the Three Months Ended March 31,
2024 Compared to Three Months Ended March 31, 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">The following table sets forth a summary of our unaudited
Consolidated Statements of Operations and is used in the following discussions of our results of operations:</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>&#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 Three Months 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">March 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">2024</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">2023</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">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#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%">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">1,070,680</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">2,644,288</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; 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">976,048</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">2,107,116</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: left">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">94,632</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">537,172</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: left; 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">2,855,678</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">2,683,970</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: 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">(2,761,046</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">(2,146,798</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">Other income (expense)</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,737</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">3,115</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: 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">(2,752,309</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">(2,143,683</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>

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

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

<table cellpadding="0" cellspacing="0" style="font: 12pt 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">&#160;</td>
    <td colspan="10" style="font-size: 8pt; font-weight: bold; text-align: center">For the Three Months Ended</td><td style="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="10" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">March 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">2024</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">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">% Change</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 10pt">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: 49%; font-size: 10pt; text-align: left">Technology systems</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">269,855</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">1,827,764</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 14%; font-size: 10pt; text-align: right">-85</td><td style="width: 1%; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Services and consulting</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">800,825</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">816,524</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">-2</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.5pt">Total revenues</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">1,070,680</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">2,644,288</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: right">-60</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">%</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The decrease in overall revenues for the quarter
ended March 31, 2024, compared to the quarter ended March 31, 2023, is primarily attributed to delays outside of the Company&#8217;s
control with deployment of our two high-speed Railcar Inspection Portals, which are recorded in the technology systems portion of
our business. Although these systems were largely ready for deployment in 2023, customer delays at the deployment site prevented
installation even though these two high-speed Railcar Inspection Portals were deep into their production and manufacturing phases,
which did not allow us to record the next phase of recognition. We believe that the customer is approaching the completion of the
local site preparation and is preparing for field installation later this year. Additionally, the Company continues to see
opportunities for expansion of its programs with existing customers. In spite of the timing delays that continue to impact the
quarterly results, management remains confident in the long-term potential of the RIP product.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The slight variation in the services portion of our revenues stems from
two of our sites pausing their service payments in exchange for the chance to offer subscriptions at these locations, a change offset
by the subscription revenue from these sites. The Company expects growth with new revenue from existing customers, including services
revenue as the result of new maintenance contracts being established on installations coming on-line during 2024. The Company also anticipates
renewals of existing and backlog contracts and a shift to the next generation of technology systems which are currently being manufactured
and expect to be completed during 2024.</p>

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

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;&#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"><b>&#160;</b></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="font-size: 12pt">&#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 Three Months Ended</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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">March 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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">2024</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">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">% Change</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>Cost of revenues:</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt">&#160;</td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 49%; text-align: left">Technology systems</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">583,437</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">1,767,209</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">-67</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">392,611</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">339,907</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">16</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">Total cost of 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">976,048</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">2,107,116</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">-54</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;&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cost of revenues largely comprises equipment and labor
necessary to support the implementation of new systems and support and maintenance of existing systems and software projects.</p>

<p style="font: 10pt Times New 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 three months ended March 31, 2024, the
cost of revenues on technology systems decreased compared to the equivalent period in 2023. This reduction is primarily due to the company
being well into the middle of production and manufacturing phase of our two high-speed Railcar Inspection Portals during the first quarter
of 2023. By the first quarter of 2024, we are approaching the end of the manufacturing cycle and beginning preparations for field installation
later in the year, and thereby contributing to the decrease in cost of revenues year-over-year. Additionally, the Company records certain
fixed, operating and servicing costs for both technology systems and services and consulting. These fixed costs, in part, contribute to
the cost of revenues declining at a slower rate than that of revenue. The Company continues to face headwinds with supply disruption and
cost. While we expect that macro-economic factors will continue to drive prices, the Company continues to manage its costs and, where
possible, pass through increased costs to customers in the form of higher prices, although this is not assured.</p>

<p style="font: 10pt Times New 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 on services and consulting increased
in the three months ended March 31, 2024 compared to the prior year period. This rise in costs is due to one-time site improvements carried
out for a customer in the first quarter of 2024, unlike in the corresponding period of 2023. Additionally, sales commissions associated
with site services were reclassified from sales and marketing expenses to direct 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"></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: 12pt 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">&#160;</td>
    <td colspan="10" style="font-size: 8pt; font-weight: bold; text-align: center">For the Three Months Ended</td><td style="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="10" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">March 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">2024</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">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">% Change</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#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="width: 49%; font-size: 10pt">Revenues</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">1,070,680</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">2,644,288</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 14%; font-size: 10pt; text-align: right">-60</td><td style="width: 1%; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 1pt">Cost of revenues</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">976,048</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,107,116</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">-54</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.5pt">Gross margin</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">94,632</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">537,172</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: right">-82</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">Gross margin decreased for the first quarter of 2024
as compared to the same period in 2023 largely in line with the decline in revenue. As noted above, the decrease in margin was a direct
result of the timing of business activity related to the manufacturing of two high-speed, transit-focused Railcar Inspection Portals.
Those same project revenues and subsequent margin contributions were not present during the first quarter of 2024. It should be noted
that when comparing the results between two periods, the stage of completion for manufacturing and installation can factor into those
comparisons and should be taken into account when analyzing those periods.&#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 -->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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;&#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"><b>&#160;</b></p>

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

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#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 Three Months 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="10" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">March 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">2024</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">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">% 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: 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><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: 49%; 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: 14%; text-align: right">553,486</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">307,577</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: 14%; text-align: right">80</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">382,142</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">404,885</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">-6</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">1,920,050</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,971,508</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">-3</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: left; padding-bottom: 2.5pt">Total operating expenses</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">2,855,678</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">2,683,970</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">6</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"><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">During the three months ended March 31, 2024, the
Company experienced a modest increase in overall operating expenses compared to the same period in 2023. There was a significant uptick
in sales and marketing costs, primarily due to an expansion in staff after strengthening our commercial team in the latter half of 2023
in preparation for entering new markets. Conversely, research and development expenses fell by 6% owing to reduced personnel and scaled-back
testing of prospective technologies. Overall, the Company continues to focus on stabilizing operating expenses while meeting the increased
needs of our customers. It should be noted that when comparing the results between two periods, the stage of completion for manufacturing
and installation can factor into those comparisons and should be taken into account when analyzing those periods.</p>

<p style="font: 10pt Times New 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>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 loss from operations for the three months ended
March 31, 2024 and 2023 was $2,761,046 and $2,146,798, respectively. The increase in loss from operations was primarily the result of
lower revenues recorded in the quarter as a consequence of delays in going to field for the two high-speed RIPs for a passenger transit
client offset by a planned reduction in expenses which resulted in a lower percentage increase in operating loss compared to a larger
percentage decrease in revenue recorded during the quarter.</p>

<p style="font: 10pt Times New 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>Other Income/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">Other income for the three months ended March 31,
2024 was $9,182 and $4,295 for the comparative period in 2023. Interest expense for the three months ended March 31, 2024 was $445 and
$1,180 for the comparative period in 2023.</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>Net Loss</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 net loss for the three months ended March 31,
2024 and 2023 was $2,752,309 and $2,143,683 respectively. The 28% increase in net loss was mostly attributed to the decrease in revenues
as described above from timing delays along with growing expenses. Net loss per common share was $0.38 and $0.30 for the three months
ended March 31, 2024 and 2023, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;&#160;</b></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 March 31, 2024, the Company has a working capital
surplus of $3,305,875 and the Company had a net loss of $2,752,309 for the three months ended March 31, 2024.</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>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: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" 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>For the Three Months Ended</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31,</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2024</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">2023</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%; font-size: 10pt; text-align: left">Net cash used in operating activities</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">(2,032,719</td><td style="width: 1%; font-size: 10pt; text-align: left">)</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">(7,086</td><td style="width: 1%; font-size: 10pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Net cash used in investing activities</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">(9,810</td><td style="font-size: 10pt; text-align: left">)</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">(261,144</td><td style="font-size: 10pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Net cash provided by financing activities</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,578,279</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">3,488,085</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.5pt">Net increase in cash</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">535,750</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">3,219,855</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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 three months ended March
31, 2024 and 2023 was $2,032,719 and $7,086, respectively. The increase in net cash used in operating activities for the three months
ended March 31, 2024, was the result of cash outflows to procure necessary materials and overall sales and marketing, general and administration
expenses offset by cash inflows from milestone payments related to current projects. In addition, there are two material changes in assets
and liabilities that increased the use of cash in operating activities, notably the cash used for the reduction in accounts payable and
decreased contract assets related to lower overall project activities reported during the quarter.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Net cash used in investing activities for the three
months ended March 31, 2024 and 2023 was $9,810 and $261,144 respectively, representing an decrease in the purchase of various fixed assets
for computer equipment and product and software development and disbursements for patent costs.</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">Net cash provided by financing activities for the
three months ended March 31, 2024 and 2023 was $2,578,279 and $3,488,085, respectively. Cash flows provided by financing activities during
the first three months of 2024 were primarily attributable to gross proceeds of approximately $2,745,002 from issuances of Series D and
Series E Convertible Preferred Stock. Cash flows from financing activities during the first three months of 2023 were primarily attributable
to the issuance of Series E Convertible Preferred shares for $4,000,000 of gross proceeds offset by repayments of certain loans related
to financing of insurance 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">On a long-term basis, our liquidity is dependent on
the continuation and expansion of operations and receipt of revenues. We believe our current capital and revenues are sufficient to fund
such expansion and our operations over the next twelve months, although we are dependent on timely payments from 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. The Company may elect to purchase
materials and supplies in advance of contract award but where there is a high probability of that award.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Demand for our 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. Because a major portion of our activities is the receipt of revenues from the sales of our products and
services, our business operations may continue to be challenged by our competitors and prolonged recession periods.</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>Liquidity</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">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">&#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 $2,752,309 for the three months ended March 31, 2024. During the same period, cash used in operating
activities was $2,032,719. The working capital surplus and accumulated deficit as of March 31, 2024, were $3,305,875 and $66,355,861,
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 underwritten offerings and private placements which were completed during 2022, 2023, and now
the first and second quarters of 2024 as well.&#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 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 5). 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
filing 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"></p>

<p style="font: 10pt Times New 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 been taking 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, as described above,
it will have sufficient sources of working capital to meet its obligations over the following twelve months. In the last twelve months
the Company has experienced relatively steady contracted backlog as well as seen positive signs from new commercial engagements that indicate
improvements in future commercial opportunities for both one-time capital and recurring services 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"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</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 -->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: 4pt 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">Management believes that, at this time, the conditions
in our market space with ongoing contract delays, the consequent need to procure certain materials in advance of a binding contract and
the additional time needed to execute on new contracts previously reported have put a strain on our cash reserves. However, proactive
management of our existing contracts, recent stock offerings and private placements as well as the availability to raise capital via our
shelf registration indicate there is no substantial doubt that the Company can continue as a going concern for a period of twelve months
from the issuance date of this report. 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 twelve
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 continued in 2023, and will continue
in 2024 and beyond. 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"></p>

<p style="font: 10pt Times New 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>Critical Accounting Estimates </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">&#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 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 cellspacing="0" cellpadding="0" style="font: 12pt 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-size: 10pt">1.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Identify the contract with the customer;</span></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><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>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><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>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><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>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><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">&#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 -->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: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources:</p>

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

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Stock Based Compensation</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 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">&#160;</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;&#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"><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>&#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 -->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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt"><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">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_003"></span><b>Item 3. Quantitative and Qualitative Disclosures
About Market Risk.</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">Not applicable.</p>

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



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

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0"><span id="a_004"></span><span style="font-size: 4pt">&#160;</span><span style="font-size: 10pt"><b>Item
4. Controls and Procedures.</b></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><i>Evaluation of Disclosure Controls and Procedures</i></b></p>

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

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></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 Contoller, 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: 12pt 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><i>Changes in Internal Control over Financial Reporting
</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">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 quarter ended March 31,
2024 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">&#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; Value: 36; 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: 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: center"><b>PART II OTHER INFORMATION</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"><span id="a_005"></span><b>Item 1. Legal Proceedings.</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">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"><span id="a_006"></span><b>Item 1A. Risk Factors.</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">We believe there are no changes that constitute material
changes from the risk factors previously disclosed in our Annual Report on Form 10-K, filed with the Securities and Exchange Commission
on April 1, 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"><span id="a_007"></span><b>Item 2. Unregistered Sales of Equity Securities and Use of Proceeds.</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">None</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"><span id="a_008"></span><b>Item 3. Defaults Upon Senior Securities.</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">There has been no default in the payment of principal,
interest, sinking or purchase fund installment, or any other material default, with respect to any indebtedness 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"><span id="a_009"></span><b>Item 4. Mine Safety Disclosures.</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">Not applicable</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"><span id="a_010"></span><b>Item 5. Other Information.</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"><b><span style="text-decoration: underline">Trading Plans</span></b></p>

<p style="font: 11pt Aptos,sans-serif; margin: 0; word-spacing: 0px; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; word-spacing: 0px; text-align: justify">During the quarter ended
March 31, 2024, no director or Section 16 officer&#160;<span id="xdx_902_eecd--Rule10b51ArrAdoptedFlag_dbF_c20240101__20240331_zIe3lBaO8PD9" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_906_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20240101__20240331_z2QpNH2BMdN3" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact001573" name="ecd:Rule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact001574" name="ecd:NonRule10b51ArrAdoptedFlag">adopted</ix:nonNumeric></ix:nonNumeric></span></span>&#160;or&#160;<span id="xdx_908_eecd--Rule10b51ArrTrmntdFlag_dbF_c20240101__20240331_zxjDUmDRgHB4" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_905_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20240101__20240331_zttT1ZVNqsI8" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact001575" name="ecd:Rule10b51ArrTrmntdFlag"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact001576" name="ecd:NonRule10b51ArrTrmntdFlag">terminated</ix:nonNumeric></ix:nonNumeric></span></span>&#160;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"></p>

<p style="font: 10pt Times New 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: 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 -->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: 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"><span id="a_011"></span><b>Item 6. Exhibits.</b></p>

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

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid; width: 10%; text-align: justify"><span style="font-size: 8pt"><b>Exhibit No.</b></span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 89%; text-align: justify"><span style="font-size: 8pt"><b>Description</b></span></td></tr>
  <tr style="vertical-align: top">
    <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: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-size: 10pt">10.1</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><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)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify"><span style="font-size: 10pt">10.2</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><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)</span></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-size: 10pt">10.3</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><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)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.4</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: justify"><p style="font: 12pt Times New Roman, Times, Serif; margin: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><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)</span></p></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-size: 10pt">31.1*</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><a href="ex31x1.htm">Certification by the Principal Executive Officer of Registrant pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 (Rule 13a-14(a) or Rule 15d-14(a)).</a></span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify"><span style="font-size: 10pt">31.2*</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><a href="ex31x2.htm">Certification by the Principal Financial Officer of Registrant pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 (Rule 13a-14(a) or Rule 15d-14(a)).</a></span></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-size: 10pt">32.1**</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><a href="ex32x1.htm">Certification by the Principal Executive Officer pursuant to 18 U.S.C. 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify"><span style="font-size: 10pt">32.2**</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-size: 10pt"><a href="ex32x2.htm">Certification by the Principal Financial Officer pursuant to 18 U.S.C. 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">101.INS*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Inline XBRL Instance Document (the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document)</span></td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">101.SCH*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Inline XBRL Taxonomy Extension Schema Document</span></td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">101.CAL*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Inline XBRL Taxonomy Extension Calculation Linkbase Document</span></td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">101.DEF*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Inline XBRL Taxonomy Extension Definition Linkbase Document</span></td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">101.LAB*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Inline XBRL Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">101.PRE*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Inline XBRL Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">104*</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-size: 10pt">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></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; text-indent: 0.5in">&#160;</p>

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

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

<p style="font: 10pt Times New 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: 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 -->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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0 0 8pt">&#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: center"><span id="a_012"></span><b>SIGNATURES</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">Pursuant to the requirements of the Securities Exchange
Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p>

<table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td colspan="2">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td colspan="2">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>DUOS TECHNOLOGIES GROUP, INC.</b></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 49%"><span style="font-size: 10pt">Date: May 13, 2024</span></td>
    <td style="width: 5%"><span style="font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1pt solid; width: 46%"><span style="font-size: 10pt">/s/ Charles P. Ferry</span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2">&#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 colspan="2">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Date: May 13, 2024</span></td>
    <td><span style="font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-size: 10pt">/s/ Adrian G. Goldfarb</span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2">&#160;</td>
    <td><p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Adrian G. Goldfarb</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Financial Officer</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">&#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: 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 -->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>

<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJy1We9u4zYMf4J7ByGfb3dJdh2wfsvfIljbBEnuusOwD6rNJFptyZDkXrM32luOlOM/be1YSXtF0NQWfyRFkRTJdjofO1dqKiLQ7M/h8pqtIU4iboEtYQMaZABIMZr9ccnwewlbYazm0rrHHDhSiAHEXHzq9zkuONJHYSC8ZN2Lz73u5/4X1u1fXvzOFjedD7Q+UnIjQpBW8IhxGbKFVokWYLneZxzW/ElJFe+dqG+gjVDykvU+dbPl/1i/2+uzW/XIfyj9YNj19ajz4aP7+dC50ipNkGryZEESkk0iiFGcydDlx2kTpMaq+HLFI5hvBsaANWt4ssNIBQ+43Ov2+73u6KIRuNBCBiLh0SBWqbQE6RGk+6URMtdiKySPZsakMBYmyIFO1nDYLCvVwY4bVBTtHiu5sqjkHdd0LKZg0G1WdhXsIExpp7fKwhICEI/8PoK1+3XKtvEQH0FbgbjnrJwBescN0Ai+BeuHN9YMZDgxVsToseGEaynk1szk5CkAY+aboYgiejOXX2VwcNIQ5aILB3jCJ++34KdH3OwyjSHE9W6/UDanYUqzAKmYPpB9qi7OMWposcLj1f7SOMVIxFWMJZApGCRWWyn+deSt9imPOZdaGqbRdu9tKZShSmMltkEAsey3+4sjvhb8XkTCCsAYDXZSRWqLf6/2xkJ8LqcV6EeBtkF9cdWkkUXtfXjVAp8fVBuLJRfRDcT3oAvLDijJ0Xv2V7byd83zSz7rVMsH2GMi/QfQpnUsDyQsp6myO7b2UtQNFxITK8frATe+SpNEaVsI7JYC8VOhZUjMDtTH2A+irdLC7uLaTeCnJDjG5kqp0KwxLxq8yjSEc8w3axFDHVNHy2xJzBRSMwwPqIrIyCo8GTFl6xdkTV7iqUxO3q5PQXmySnR5gA7w+q3ToFyt8qh/+9rsKF+6y7bh+CoUR90Ab4eNIHEz9CBMKFuqRxp4Hr9h0E4Y5cOFhsxG7tL053SAVxiey+mVTqNzOeV1wGCrwZU2DdCcjhWELZ76TKmDvhCuVaXcWO24Bq9i49V+x177rcBYhmNjViCZg7ZvY/wzDmzyNieavINOLxVpZOl/To4cy4Mdl1uowHotMKfJ9GfYefo260zf0zrrHYbOWGApZ5Vuymo1uAkWOmoP4MTlgbiIuPRnMeVC33D9APYbj1JYYP7FEOZbKMBHegW3wyHKDKlHw04I60klB9QrbF0qGO5LkgXf06vBD65DkurkYTOUxgmhjKPETieoiB69q2jTKHvyRPeO8RdPNeeBa15jT7WK8wO5w+Jhp6KQatSOT7OB7JrwXw1lx/x0M6f6KkPQE5NQD9pejyJzV4wnSQ3/vErdv6+eJK0MgLZuda0sj0ZIvqU2hAYEyKrRu3045mCqnI9GVkHoxgRhTlrN/iUJFZjjOpLGyMwKqHpvvaXMgW1F6PzSZEaorFMbhb3rd7BlxY8BKlTYf3VYDsyCChofjGUb7BONu85U5uo1ypJN+9hjnlAcOETvN38E7vW0xORMdt8e4Pcvc8s82+c8tcbikaJr3oHY7sjMmKcxsy0hxp4B3+eNWsqjNei4V6jVa0l5b1DriuYoEHqq1PdW6cRUeBjoNBvpZUbsuqv6SEbMR0T5JR9OsTOvTJCOs29NuCX7BOOPmG9AUI9PjV8UYcOjc56hXwJPBEYMhdRKbSyeEIzhESKVkHncAANl5EsrzHFYoTpo5r5tmbKuFBg8YovtZh1qiNKM2ErKdB2PQsiFt2OFKWjBRTiThx3g8xIsek85ZRkDtTXW526orTndzDCbLbRk2SPwE2rDusL9BZPuG5gQvG0jMxlowPgYQ/Y9kzQ0NM9Hjm1MlpAcCo25nAoaSeBpFG2R8WFBGpNHOwc8UebmWsktZY2DZ1zTRub32Ne6hODD7YYGTElEZSBeHDFpUjKgq3QQRSpwT/ONmwlgrsIHF8YLFYlgf9Ic75bbVMN8M08wKzgZZzA5uwp9fVPcpnQ9ebUmWdlvnCUqMV40tD6ef6f0AyX97LxWqU6i1KteLIf0M2lSTeeUGa7jURqN1Q95MANlEh9IIeUG76ddtMdnVDjydusBBhX6JzlkaZfeEafGFoQ6tYQHXoByGE3jv+xfMTTWcU5Mh3woKp0GZ8ybXw3LT5uV10yE8XI5c7xcyWx0Qx0mdD6nkN9fJxR6OaTvD7kGYwAOEY39BZm8aDLyTmyM7dfGgv4OXE9Vqn027rrkXCF/fdY7oTHstd0XXky5fS7LUd/zibIDMIdgv7ACxAjFekdH5PWi1j/UOaL654giG50j7NczhNHBnSPryzFZWQrGQHbptKgmfVLyc2hRGTZC/wc7LXj8 -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex31x1.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<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: right"><B>&nbsp;</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">1.&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this quarterly
report on Form 10-Q of Duos Technologies Group, Inc.;</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">2.&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this
quarterly 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 quarterly
report;</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">3.&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, the
financial statements, and other financial information included in this quarterly 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 quarterly report;</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">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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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 quarterly 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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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">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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 56%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: May 13, 2024</FONT></TD>
    <TD STYLE="width: 1%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 43%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Charles P. Ferry</FONT></TD></TR>
  <TR>
    <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"></P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex31x2.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>&nbsp;</B></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, Adrian G. Goldfarb, 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">1.&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this quarterly
report on Form 10-Q of Duos Technologies Group, Inc.;</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">2.&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this
quarterly 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 quarterly
report;</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">3.&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, the
financial statements, and other financial information included in this quarterly 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 quarterly report;</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">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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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 quarterly report is being prepared;</FONT></TD>
</TR></TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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">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 CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="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: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 56%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: justify">&nbsp;</TD>
    <TD STYLE="width: 43%; text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: May 13, 2024</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Adrian G. Goldfarb</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Adrian G. Goldfarb</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: 11pt/105% Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt">&nbsp;</P>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"></P>




















































































































<P STYLE="margin: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ex32x1.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>&nbsp;</B></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 Quarterly Report of Duos
Technologies Group, Inc. (the &ldquo;Company&rdquo;), on Form 10-Q for the period ended March 31, 2024, 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: 0.5in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Such Quarterly
Report on Form 10-Q for the period ended March 31, 2024, 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: 0.5in"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information contained
                                                                                                                                                                in such Quarterly Report on Form 10-Q for the period ended March 31, 2024, 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: 0.5in">&nbsp;&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&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: 54%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: May 13, 2024</FONT></TD>
    <TD STYLE="width: 1%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; width: 35%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Charles P. Ferry</FONT></TD>
    <TD STYLE="width: 10%">&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/105% Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt">&nbsp;</P>


<P STYLE="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt"><B>&nbsp;</B></P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>ex32x2.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<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 Quarterly Report of Duos
Technologies Group, Inc. (the &ldquo;Company&rdquo;), on Form 10-Q for the period ended March 31, 2024, as filed with
the U.S. Securities and Exchange Commission on the date hereof, I, Adrian G. Goldfarb, 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: 0.5in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Such Quarterly
Report on Form 10-Q for the period ended March 31, 2024, 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: 0.5in"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 35pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD><TD STYLE="width: 5pt"></TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information
contained in such Quarterly Report on Form 10-Q for the period ended March 31, 2024, 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: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&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: 54%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: May 13, 2024</FONT></TD>
    <TD STYLE="width: 1%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; width: 35%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Adrian G. Goldfarb</FONT></TD>
    <TD STYLE="width: 10%">&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">Adrian G. Goldfarb</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/105% Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt">&nbsp;</P>

<P STYLE="font: 11pt/107% Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>duot-20240331.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +aAps7xRiXgen8uEYHMsSaOFibPtx517mZkhvmh9bUnKfy8iP2DyBCt5FSVWAQoL -->
<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/20240331" elementFormDefault="qualified" targetNamespace="http://duostechnologies/20240331">
    <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 (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/StatementsOfChangesInStockholdersEquity" id="StatementsOfChangesInStockholdersEquity">
          <link:definition>00000005 - Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
          <link:definition>00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" id="NatureOfOperationsAndSummaryOfSignificantAccountingPolicies">
          <link:definition>995512 - 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>995513 - 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/Debt" id="Debt">
          <link:definition>995514 - 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/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
          <link:definition>995515 - 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/StockholdersEquity" id="StockholdersEquity">
          <link:definition>995516 - 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/RevenueAndContractAccounting" id="RevenueAndContractAccounting">
          <link:definition>995517 - Disclosure - REVENUE 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/DefinedContributionPlan" id="DefinedContributionPlan">
          <link:definition>995518 - 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>995519 - 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>995520 - 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>995521 - 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>995522 - 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/DebtTables" id="DebtTables">
          <link:definition>995523 - 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/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables">
          <link:definition>995524 - 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/StockholdersEquityTables" id="StockholdersEquityTables">
          <link:definition>995525 - Disclosure - STOCKHOLDERS&#8217; EQUITY (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/RevenueAndContractAccountingTables" id="RevenueAndContractAccountingTables">
          <link:definition>995526 - Disclosure - REVENUE 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/SaleOfAssetsTables" id="SaleOfAssetsTables">
          <link:definition>995527 - 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>995528 - 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>995529 - 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/DebtDetails-NotesPayableFinancingAgreements" id="DebtDetails-NotesPayableFinancingAgreements">
          <link:definition>995530 - 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>995531 - 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/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" id="CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases">
          <link:definition>995532 - 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>995533 - 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>995534 - 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/StockholdersEquityDetails-Assumptions" id="StockholdersEquityDetails-Assumptions">
          <link:definition>995535 - Disclosure - STOCKHOLDERS' EQUITY (Details - 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/StockholdersEquityDetails-EmployeeStockPurchasePlan" id="StockholdersEquityDetails-EmployeeStockPurchasePlan">
          <link:definition>995536 - Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase 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/StockholdersEquityDetails-NonPlanOptions" id="StockholdersEquityDetails-NonPlanOptions">
          <link:definition>995537 - Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)</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/StockholdersEquityDetails-Warrants" id="StockholdersEquityDetails-Warrants">
          <link:definition>995538 - Disclosure - STOCKHOLDERS' EQUITY (Details - 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/StockholdersEquityDetailsNarrative" id="StockholdersEquityDetailsNarrative">
          <link:definition>995539 - 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/RevenueAndContractAccountingDetails-ContractAssets" id="RevenueAndContractAccountingDetails-ContractAssets">
          <link:definition>995540 - Disclosure - REVENUE 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/RevenueAndContractAccountingDetails-ContractLiabilities" id="RevenueAndContractAccountingDetails-ContractLiabilities">
          <link:definition>995541 - Disclosure - REVENUE 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/RevenueAndContractAccountingDetails-disaggregatedRevenue" id="RevenueAndContractAccountingDetails-disaggregatedRevenue">
          <link:definition>995542 - Disclosure - REVENUE 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/RevenueAndContractAccountingDetailsNarrative" id="RevenueAndContractAccountingDetailsNarrative">
          <link:definition>995543 - Disclosure - REVENUE 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/DefinedContributionPlanDetailsNarrative" id="DefinedContributionPlanDetailsNarrative">
          <link:definition>995544 - 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>995545 - 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>995546 - 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>995547 - 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-20240331_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-20240331_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-20240331_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-20240331_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_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_ThreeCustomerMember" name="ThreeCustomerMember" 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_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_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_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_Plan2021Member" name="Plan2021Member" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_Plan2016Member" name="Plan2016Member" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_NonPlanMember" name="NonPlanMember" 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_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_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_SeriesDPreferredStockIssued" name="SeriesDPreferredStockIssued" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesDPreferredStockIssuedShares" name="SeriesDPreferredStockIssuedShares" nillable="true" xbrli:periodType="duration" 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_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_RepaymentsOnFinancingAgreements" name="RepaymentsOnFinancingAgreements" 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_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_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" name="MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" 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_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_ScheduleOfNoteReceivableTableTextBlock" name="ScheduleOfNoteReceivableTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" 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_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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" name="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CashPaymentReceivedFromEmployeeWithholdings" name="CashPaymentReceivedFromEmployeeWithholdings" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" name="CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CashAndEsppEmployeeWithholdingLiability" name="CashAndEsppEmployeeWithholdingLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" name="CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_TotalChargesRelatedToEmployeeStockPurchasePlan" name="TotalChargesRelatedToEmployeeStockPurchasePlan" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="duot_WarrantsExpiredForfeitedCancelledOrExercised" name="WarrantsExpiredForfeitedCancelledOrExercised" 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_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_NumberOfSharesExchanged" name="NumberOfSharesExchanged" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_NumberOfSharesCancelled" name="NumberOfSharesCancelled" 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_FairMarketValuePercentage" name="FairMarketValuePercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" 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_CumulativeRevenueRecognized" name="CumulativeRevenueRecognized" 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_CumulativeRevenuesRecognized" name="CumulativeRevenuesRecognized" 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_ContractLiabilitiesForTechnologiesSystems" name="ContractLiabilitiesForTechnologiesSystems" 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_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>7
<FILENAME>duot-20240331_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.22b -->
    <!-- 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-20240331.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:href="duot-20240331.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="duot-20240331.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:href="duot-20240331.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StatementsOfChangesInStockholdersEquity" xlink:href="duot-20240331.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:href="duot-20240331.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Liquidity" xlink:href="duot-20240331.xsd#Liquidity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Debt" xlink:href="duot-20240331.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingencies" xlink:href="duot-20240331.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquity" xlink:href="duot-20240331.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccounting" xlink:href="duot-20240331.xsd#RevenueAndContractAccounting" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlan" xlink:href="duot-20240331.xsd#DefinedContributionPlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RelatedPartyTransactions" xlink:href="duot-20240331.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssets" xlink:href="duot-20240331.xsd#SaleOfAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEvents" xlink:href="duot-20240331.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtTables" xlink:href="duot-20240331.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityTables" xlink:href="duot-20240331.xsd#StockholdersEquityTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingTables" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsTables" xlink:href="duot-20240331.xsd#SaleOfAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:href="duot-20240331.xsd#LiquidityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements" xlink:href="duot-20240331.xsd#DebtDetails-NotesPayableFinancingAgreements" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetailsNarrative" xlink:href="duot-20240331.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-Assumptions" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-Assumptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-NonPlanOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-Warrants" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-Warrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:href="duot-20240331.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-ContractAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-ContractLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:href="duot-20240331.xsd#DefinedContributionPlanDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetails" xlink:href="duot-20240331.xsd#SaleOfAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:href="duot-20240331.xsd#SaleOfAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:href="duot-20240331.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-20240331.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_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="4" 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="5" 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-20240331.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 (Unaudited)">
      <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/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS&apos; EQUITY (Unaudited)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)">
      <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-20240331.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-20240331.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_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="10" 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="11" 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="12" 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="13" 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="14" 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-20240331.xsd#duot_RepaymentsOnFinancingAgreements" xlink:label="loc_duotRepaymentsOnFinancingAgreements" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_duotRepaymentsOnFinancingAgreements" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.xsd#duot_IssuanceCosts" xlink:label="loc_duotIssuanceCosts" />
      <link:calculationArc order="3" 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_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="loc_us-gaapProceedsFromIssuanceOrSaleOfEquity" />
      <link:calculationArc order="4" 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="995512 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Liquidity" xlink:title="995513 - Disclosure - LIQUIDITY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Debt" xlink:title="995514 - Disclosure - DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingencies" xlink:title="995515 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquity" xlink:title="995516 - Disclosure - STOCKHOLDERS&#8217; EQUITY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccounting" xlink:title="995517 - Disclosure - REVENUE AND CONTRACT ACCOUNTING" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlan" xlink:title="995518 - Disclosure - DEFINED CONTRIBUTION PLAN" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RelatedPartyTransactions" xlink:title="995519 - Disclosure - RELATED PARTY TRANSACTIONS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssets" xlink:title="995520 - Disclosure - SALE OF ASSETS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEvents" xlink:title="995521 - Disclosure - SUBSEQUENT EVENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995522 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtTables" xlink:title="995523 - Disclosure - DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:title="995524 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityTables" xlink:title="995525 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingTables" xlink:title="995526 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsTables" xlink:title="995527 - Disclosure - SALE OF ASSETS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995528 - 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="995529 - Disclosure - LIQUIDITY (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements" xlink:title="995530 - Disclosure - DEBT (Details - Notes payable financing agreements)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetailsNarrative" xlink:title="995531 - Disclosure - DEBT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:title="995532 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:title="995533 - 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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" 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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="2" 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="3" 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="4" 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="5" 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="duot-20240331.xsd#duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="loc_duotLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_duotLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995534 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-Assumptions" xlink:title="995535 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Assumptions )" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:title="995536 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Employee stock purchase plan)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions" xlink:title="995537 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Non plan options)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-Warrants" xlink:title="995538 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Warrants)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:title="995539 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets" xlink:title="995540 - Disclosure - REVENUE 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-20240331.xsd#duot_CumulativeRevenueRecognized" xlink:label="loc_duotCumulativeRevenueRecognized" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:to="loc_duotCumulativeRevenueRecognized" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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/RevenueAndContractAccountingDetails-ContractLiabilities" xlink:title="995541 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ContractLiabilitiesTechnologiesSystems" xlink:label="loc_duotContractLiabilitiesTechnologiesSystems" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.xsd#duot_CumulativeRevenuesRecognized" xlink:label="loc_duotCumulativeRevenuesRecognized" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotContractLiabilitiesTechnologiesSystems" xlink:to="loc_duotCumulativeRevenuesRecognized" 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-20240331.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/RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:title="995542 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative" xlink:title="995543 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:title="995544 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetails" xlink:title="995545 - Disclosure - SALE OF ASSETS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:title="995546 - Disclosure - SALE OF ASSETS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:title="995547 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>duot-20240331_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.22b -->
    <!-- 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-20240331.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:href="duot-20240331.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="duot-20240331.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:href="duot-20240331.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StatementsOfChangesInStockholdersEquity" xlink:href="duot-20240331.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:href="duot-20240331.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Liquidity" xlink:href="duot-20240331.xsd#Liquidity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Debt" xlink:href="duot-20240331.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingencies" xlink:href="duot-20240331.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquity" xlink:href="duot-20240331.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccounting" xlink:href="duot-20240331.xsd#RevenueAndContractAccounting" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlan" xlink:href="duot-20240331.xsd#DefinedContributionPlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RelatedPartyTransactions" xlink:href="duot-20240331.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssets" xlink:href="duot-20240331.xsd#SaleOfAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEvents" xlink:href="duot-20240331.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtTables" xlink:href="duot-20240331.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityTables" xlink:href="duot-20240331.xsd#StockholdersEquityTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingTables" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsTables" xlink:href="duot-20240331.xsd#SaleOfAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:href="duot-20240331.xsd#LiquidityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements" xlink:href="duot-20240331.xsd#DebtDetails-NotesPayableFinancingAgreements" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetailsNarrative" xlink:href="duot-20240331.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-Assumptions" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-Assumptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-NonPlanOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-Warrants" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-Warrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:href="duot-20240331.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-ContractAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-ContractLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:href="duot-20240331.xsd#DefinedContributionPlanDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetails" xlink:href="duot-20240331.xsd#SaleOfAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:href="duot-20240331.xsd#SaleOfAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:href="duot-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-gaapLiabilitiesAndStockholdersEquityAbstract_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-gaapLiabilitiesAndStockholdersEquityAbstract_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-gaapLiabilitiesAndStockholdersEquityAbstract_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_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent_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_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_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_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapLiabilitiesCurrent_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_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent_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_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="26" />
      <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="27" />
      <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="28" />
      <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="29" />
      <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="30" />
      <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="31" />
      <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="32" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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="33" />
      <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="34" />
      <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="35" />
      <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="36" />
    </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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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 (Unaudited)">
      <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_TechnologyServiceMember" xlink:label="loc_us-gaapTechnologyServiceMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapTechnologyServiceMember_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: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_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasic_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_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted_70" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_70" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_70" xlink:type="arc" order="19" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS&apos; EQUITY (Unaudited)">
      <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-20240331.xsd#duot_PreferredStockDMember" xlink:label="loc_duotPreferredStockDMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockDMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_PreferredStockEMember" xlink:label="loc_duotPreferredStockEMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockEMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_PreferredStockFMember" xlink:label="loc_duotPreferredStockFMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockFMember_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_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="31" />
      <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_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_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_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_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_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapTreasuryStockCommonMember_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_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_90" 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_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesDPreferredStockIssued" xlink:label="loc_duotSeriesDPreferredStockIssued_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockIssued_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesDPreferredStockIssuedShares" xlink:label="loc_duotSeriesDPreferredStockIssuedShares_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockIssuedShares_90" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesEPreferredStockIssued" xlink:label="loc_duotSeriesEPreferredStockIssued_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesEPreferredStockIssued_90" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesEPreferredStockIssuedShares" xlink:label="loc_duotSeriesEPreferredStockIssuedShares_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesEPreferredStockIssuedShares_90" 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_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_90" 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_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts_90" 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_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_90" 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_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_90" 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_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross_90" 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_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_90" xlink:type="arc" order="12" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:title="995512 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/Liquidity" xlink:title="995513 - Disclosure - LIQUIDITY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/Debt" xlink:title="995514 - Disclosure - DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingencies" xlink:title="995515 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquity" xlink:title="995516 - Disclosure - STOCKHOLDERS&#8217; EQUITY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccounting" xlink:title="995517 - Disclosure - REVENUE AND CONTRACT ACCOUNTING" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlan" xlink:title="995518 - Disclosure - DEFINED CONTRIBUTION PLAN" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RelatedPartyTransactions" xlink:title="995519 - Disclosure - RELATED PARTY TRANSACTIONS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssets" xlink:title="995520 - Disclosure - SALE OF ASSETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEvents" xlink:title="995521 - Disclosure - SUBSEQUENT EVENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995522 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtTables" xlink:title="995523 - Disclosure - DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:title="995524 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityTables" xlink:title="995525 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingTables" xlink:title="995526 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsTables" xlink:title="995527 - Disclosure - SALE OF ASSETS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995528 - 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-20240331.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-20240331.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-20240331.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-20240331.xsd#duot_ThreeCustomerMember" xlink:label="loc_duotThreeCustomerMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotThreeCustomerMember_110" xlink:type="arc" order="111" />
      <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_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_60" xlink:type="arc" order="62" />
      <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_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_110" xlink:type="arc" order="114" />
      <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="5" />
      <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_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonStockMember_130" xlink:type="arc" order="131" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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="151" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember_160" xlink:type="arc" order="161" />
      <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="6" />
      <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_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_140" xlink:type="arc" order="141" />
      <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_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashUninsuredAmount_220" 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_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_220" 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_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_220" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_220" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ConversionOfStockSharesConverted" xlink:label="loc_duotConversionOfStockSharesConverted_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotConversionOfStockSharesConverted_220" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:title="995529 - Disclosure - LIQUIDITY (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements" xlink:title="995530 - 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-20240331.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-20240331.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-20240331.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="loc_us-gaapOtherNotesPayableCurrent_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapOtherNotesPayableCurrent_90" 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_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate_90" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetailsNarrative" xlink:title="995531 - 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-20240331.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-20240331.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-20240331.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="loc_duotThirdPartyInsuranceNoteThreeMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteThreeMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="loc_duotThirdPartyInsuranceNoteFourMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteFourMember_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_NotesPayable" xlink:label="loc_us-gaapNotesPayable_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapNotesPayable_130" 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_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDerivativeFixedInterestRate_130" 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_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentPeriodicPayment_130" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_PurchaseOfInsurancePolicy" xlink:label="loc_duotPurchaseOfInsurancePolicy_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotPurchaseOfInsurancePolicy_130" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_DownPaymentPaid" xlink:label="loc_duotDownPaymentPaid_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotDownPaymentPaid_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_InsuranceMonthlyInstallments" xlink:label="loc_duotInsuranceMonthlyInstallments_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotInsuranceMonthlyInstallments_130" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:title="995532 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:title="995533 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995534 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-Assumptions" xlink:title="995535 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Assumptions )">
      <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_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" 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-gaapStatementTable" 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="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_40" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" 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_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_40" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:title="995536 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Employee stock purchase plan)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions" xlink:title="995537 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Non plan options)">
      <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="duot-20240331.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_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-20240331.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_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="8" />
      <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="11" />
      <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="13" />
      <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="14" />
      <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="15" />
      <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="16" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-Warrants" xlink:title="995538 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Warrants)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" 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-gaapAccumulatedOtherComprehensiveIncomeLossTable" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_WarrantsExpiredForfeitedCancelledOrExercised" xlink:label="loc_duotWarrantsExpiredForfeitedCancelledOrExercised_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_duotWarrantsExpiredForfeitedCancelledOrExercised_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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapConversionOfStockSharesIssued1_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" xlink:label="loc_duotWarrantsExchangedForCommonStockWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_70" xlink:type="arc" order="14" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:title="995539 - 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_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="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-20240331.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember_170" xlink:type="arc" order="171" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember_230" xlink:type="arc" order="231" />
      <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="2" />
      <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-20240331.xsd#duot_PurchaseAgreementMember" xlink:label="loc_duotPurchaseAgreementMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_duotPurchaseAgreementMember_60" xlink:type="arc" order="61" />
      <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="3" />
      <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-20240331.xsd#duot_ThreeDirectorsMember" xlink:label="loc_duotThreeDirectorsMember_310" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotThreeDirectorsMember_310" xlink:type="arc" order="311" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_EmployeesAndDirectorsMember" xlink:label="loc_duotEmployeesAndDirectorsMember_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotEmployeesAndDirectorsMember_440" xlink:type="arc" order="441" />
      <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="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_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_310" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_310" xlink:type="arc" order="312" />
      <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="5" />
      <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-20240331.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="loc_duotEmployeeStockPurchasePlanMember_350" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotEmployeeStockPurchasePlanMember_350" xlink:type="arc" order="351" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_Plan2021Member" xlink:label="loc_duotPlan2021Member_460" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotPlan2021Member_460" xlink:type="arc" order="461" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_Plan2016Member" xlink:label="loc_duotPlan2016Member_490" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotPlan2016Member_490" xlink:type="arc" order="491" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NonPlanMember" xlink:label="loc_duotNonPlanMember_530" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotNonPlanMember_530" xlink:type="arc" order="531" />
      <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="6" />
      <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="duot-20240331.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="loc_duotEmployeeStockPurchasePlanMember_370" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_duotEmployeeStockPurchasePlanMember_370" xlink:type="arc" order="371" />
      <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="7" />
      <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_CallOptionMember" xlink:label="loc_us-gaapCallOptionMember_400" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:to="loc_us-gaapCallOptionMember_400" xlink:type="arc" order="401" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PutOptionMember" xlink:label="loc_us-gaapPutOptionMember_410" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:to="loc_us-gaapPutOptionMember_410" xlink:type="arc" order="411" />
      <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="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_470" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_470" xlink:type="arc" order="471" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_PreferredStockSharesAvailableToBeDesignated" xlink:label="loc_duotPreferredStockSharesAvailableToBeDesignated_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotPreferredStockSharesAvailableToBeDesignated_560" 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_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized_560" 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_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare_560" 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_ConversionOfStockAmountConverted1" xlink:label="loc_us-gaapConversionOfStockAmountConverted1_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapConversionOfStockAmountConverted1_560" 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_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaapDebtInstrumentConvertibleConversionPrice1_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapDebtInstrumentConvertibleConversionPrice1_560" 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_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued_560" 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_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_560" 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_PreferredStockVotingRights" xlink:label="loc_us-gaapPreferredStockVotingRights_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockVotingRights_560" 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_PreferredStockRedemptionPricePerShare" xlink:label="loc_us-gaapPreferredStockRedemptionPricePerShare_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockRedemptionPricePerShare_560" 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_ProceedsFromIssuanceOfConvertiblePreferredStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock_560" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesCPreferredConvertedToCommonStockShares" xlink:label="loc_duotSeriesCPreferredConvertedToCommonStockShares_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesCPreferredConvertedToCommonStockShares_560" 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_PreferredStockConvertibleConversionPrice" xlink:label="loc_us-gaapPreferredStockConvertibleConversionPrice_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleConversionPrice_560" 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_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_560" 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_SharePrice" xlink:label="loc_us-gaapSharePrice_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharePrice_560" 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_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_560" 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_ConversionOfStockSharesConverted1" xlink:label="loc_us-gaapConversionOfStockSharesConverted1_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapConversionOfStockSharesConverted1_560" 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_PreferredStockConvertibleSharesIssuable" xlink:label="loc_us-gaapPreferredStockConvertibleSharesIssuable_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleSharesIssuable_560" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesEPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesEPreferredConvertiblePreferredStockShares_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesEPreferredConvertiblePreferredStockShares_560" 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_SharesIssued" xlink:label="loc_us-gaapSharesIssued_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssued_560" 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_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare_560" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_StockExchangeShares" xlink:label="loc_duotStockExchangeShares_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotStockExchangeShares_560" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NumberOfSharesExchanged" xlink:label="loc_duotNumberOfSharesExchanged_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotNumberOfSharesExchanged_560" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NumberOfSharesCancelled" xlink:label="loc_duotNumberOfSharesCancelled_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotNumberOfSharesCancelled_560" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesFPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesFPreferredConvertiblePreferredStockShares_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesFPreferredConvertiblePreferredStockShares_560" 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_CapitalUnitsOutstanding" xlink:label="loc_us-gaapCapitalUnitsOutstanding_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCapitalUnitsOutstanding_560" 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_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_560" 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_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_560" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_560" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_560" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_560" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_FairMarketValuePercentage" xlink:label="loc_duotFairMarketValuePercentage_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotFairMarketValuePercentage_560" 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_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance_560" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_560" 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_AccruedLiabilitiesAndOtherLiabilities" xlink:label="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities_560" 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_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_560" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:label="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_560" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_560" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_560" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_560" xlink:type="arc" order="37" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets" xlink:title="995540 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities" xlink:title="995541 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:title="995542 - Disclosure - REVENUE 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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.xsd#duot_MaintenanceAndSupportMember" xlink:label="loc_duotMaintenanceAndSupportMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotMaintenanceAndSupportMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_AlgorithmsMember" xlink:label="loc_duotAlgorithmsMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotAlgorithmsMember_150" xlink:type="arc" order="151" />
      <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-20240331.xsd#duot_GoodsTransferredOverTimeMember" xlink:label="loc_duotGoodsTransferredOverTimeMember_240" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_duotGoodsTransferredOverTimeMember_240" xlink:type="arc" order="242" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ServicesTransferredOverTimeMember" xlink:label="loc_duotServicesTransferredOverTimeMember_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_duotServicesTransferredOverTimeMember_290" xlink:type="arc" order="292" />
      <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_710" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_710" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative" xlink:title="995543 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:title="995544 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetails" xlink:title="995545 - Disclosure - SALE OF ASSETS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:title="995546 - Disclosure - SALE OF ASSETS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:title="995547 - 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_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="1" />
      <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="1" />
      <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="2" />
      <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_SeriesDPreferredStockMember" xlink:label="loc_us-gaapSeriesDPreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapSeriesDPreferredStockMember_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_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonStockMember_30" 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_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction_90" 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_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_90" 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_PreferredStockConvertibleConversionPrice" xlink:label="loc_us-gaapPreferredStockConvertibleConversionPrice_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleConversionPrice_90" 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_ConversionOfStockSharesConverted1" xlink:label="loc_us-gaapConversionOfStockSharesConverted1_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapConversionOfStockSharesConverted1_90" xlink:type="arc" order="3" />
    </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:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>duot-20240331_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.22b -->
    <!-- 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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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_TechnologyServiceMember" xlink:label="us-gaap_TechnologyServiceMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TechnologyServiceMember" xlink:to="us-gaap_TechnologyServiceMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TechnologyServiceMember_lbl" xml:lang="en-US">Technology Service [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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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="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="duot-20240331.xsd#duot_ThreeCustomerMember" xlink:label="duot_ThreeCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThreeCustomerMember" xlink:to="duot_ThreeCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ThreeCustomerMember_lbl" xml:lang="en-US">Three Customer [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/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-20240331.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-20240331.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="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-20240331.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 1 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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 2 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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 3 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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 4 [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-20240331.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/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-20240331.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="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-20240331.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_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_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CallOptionMember" xlink:label="us-gaap_CallOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CallOptionMember" xlink:to="us-gaap_CallOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CallOptionMember_lbl" xml:lang="en-US">Call Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PutOptionMember" xlink:label="us-gaap_PutOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PutOptionMember" xlink:to="us-gaap_PutOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PutOptionMember_lbl" xml:lang="en-US">Put Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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="duot-20240331.xsd#duot_Plan2021Member" xlink:label="duot_Plan2021Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_Plan2021Member" xlink:to="duot_Plan2021Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_Plan2021Member_lbl" xml:lang="en-US">Plan 2021 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_Plan2016Member" xlink:label="duot_Plan2016Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_Plan2016Member" xlink:to="duot_Plan2016Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_Plan2016Member_lbl" xml:lang="en-US">Plan 2016 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NonPlanMember" xlink:label="duot_NonPlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_NonPlanMember" xlink:to="duot_NonPlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_NonPlanMember_lbl" xml:lang="en-US">Non Plan [Member]</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_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_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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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_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.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="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.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-20240331.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_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 4)</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">Common stock: $0.001 par value; 500,000,000 shares authorized, 7,315,318 and 7,306,663 shares issued, 7,313,994 and 7,305,339 shares outstanding at March 31, 2024 and December 31, 2023, 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-20240331.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 &#160;at March 31, 2024 and December 31, 2023)</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-20240331.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">&#160;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">&#160;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">&#160;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">&#160;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">&#160;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">&#160;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">&#160;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">&#160;&#160;&#160;&#160;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">&#160;&#160;&#160;&#160;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">&#160;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">&#160;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_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">Basic Net 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_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">Diluted Net 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_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-20240331.xsd#duot_SeriesDPreferredStockIssued" xlink:label="duot_SeriesDPreferredStockIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesDPreferredStockIssued" xlink:to="duot_SeriesDPreferredStockIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesDPreferredStockIssued_lbl" xml:lang="en-US">Series D preferred stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesDPreferredStockIssuedShares" xlink:label="duot_SeriesDPreferredStockIssuedShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesDPreferredStockIssuedShares" xlink:to="duot_SeriesDPreferredStockIssuedShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesDPreferredStockIssuedShares_lbl" xml:lang="en-US">Series D preferred stock issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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="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_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_lbl" xml:lang="en-US">Stock compensation under ESPP</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-20240331.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-20240331.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_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-20240331.xsd#duot_RepaymentsOnFinancingAgreements" xlink:label="duot_RepaymentsOnFinancingAgreements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RepaymentsOnFinancingAgreements" xlink:to="duot_RepaymentsOnFinancingAgreements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_RepaymentsOnFinancingAgreements_lbl" xml:lang="en-US">&#160;&#160;&#160;Repayments on financing agreements</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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;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_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 period</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 period</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_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_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_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_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">REVENUE 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_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-20240331.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-20240331.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-20240331.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">Basis of Presentation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_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_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="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_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-20240331.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_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_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_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_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-20240331.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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xml:lang="en-US">Schedule of black scholes option pricing model</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of 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_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 stock option issuance 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_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-20240331.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-20240331.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-20240331.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_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-20240331.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-20240331.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 upon 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: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/2009/role/negatedLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Cash used in operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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_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">Derivative, Fixed 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 instalments of principal and interest</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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 insurance policy</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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">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_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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_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_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/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_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_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/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_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_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/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_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_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">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:to="duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_lbl" xml:lang="en-US">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">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 obligations</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">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 obligations, less current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" xlink:to="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_lbl" xml:lang="en-US">Grant date share price</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" xlink:to="duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_lbl" xml:lang="en-US">Grant date 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_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</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">Expected volatility</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 rate</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">Expected dividend rate</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashPaymentReceivedFromEmployeeWithholdings" xlink:label="duot_CashPaymentReceivedFromEmployeeWithholdings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CashPaymentReceivedFromEmployeeWithholdings" xlink:to="duot_CashPaymentReceivedFromEmployeeWithholdings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CashPaymentReceivedFromEmployeeWithholdings_lbl" xml:lang="en-US">Cash payment received from employee withholdings</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" xlink:label="duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" xlink:to="duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_lbl" xml:lang="en-US">Cash from employee withholdings used to purchase shares under ESPP</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashAndEsppEmployeeWithholdingLiability" xlink:label="duot_CashAndEsppEmployeeWithholdingLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CashAndEsppEmployeeWithholdingLiability" xlink:to="duot_CashAndEsppEmployeeWithholdingLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CashAndEsppEmployeeWithholdingLiability_lbl" xml:lang="en-US">Cash and ESPP employee withholding liability</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" xlink:label="duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" xlink:to="duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_lbl" xml:lang="en-US">Cash from employee withholdings used to purchase ESPP shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:to="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" xml:lang="en-US">Stock based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_TotalChargesRelatedToEmployeeStockPurchasePlan" xlink:label="duot_TotalChargesRelatedToEmployeeStockPurchasePlan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TotalChargesRelatedToEmployeeStockPurchasePlan" xlink:to="duot_TotalChargesRelatedToEmployeeStockPurchasePlan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_TotalChargesRelatedToEmployeeStockPurchasePlan_lbl" xml:lang="en-US">Total increase to equity for three months ended March 31, 2024</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">Outstanding beginning balance</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 beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted average remaining contractual term (Years)</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 beginning balance</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">Number of options, 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-20240331.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">Number of options, Exercised/Forfeited/Expired</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/expired</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">Outstanding ending balance</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 ending balance</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/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted average remaining contractual term (Years)</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 ending balance</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">Number of options, 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_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:to="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Outstanding beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value, Outstanding beginning balance</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/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xml:lang="en-US">Number of warrants, Warrants expired, forfeited, cancelled or exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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">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">Number of warrants, Warrants issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:to="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted average exercise price, Outstanding ending balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_2_lbl" xml:lang="en-US">Aggregate intrinsic value, Outstanding ending balance</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: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_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 shares converted</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-20240331.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="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_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">Shares price</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">Shares purchased, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockSharesConverted1" xlink:label="us-gaap_ConversionOfStockSharesConverted1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConversionOfStockSharesConverted1" xlink:to="us-gaap_ConversionOfStockSharesConverted1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConversionOfStockSharesConverted1_lbl" xml:lang="en-US">Conversion of stock shares converted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockConvertibleSharesIssuable" xlink:label="us-gaap_PreferredStockConvertibleSharesIssuable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockConvertibleSharesIssuable" xlink:to="us-gaap_PreferredStockConvertibleSharesIssuable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockConvertibleSharesIssuable_lbl" xml:lang="en-US">Conversion of stock shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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_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-20240331.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-20240331.xsd#duot_NumberOfSharesExchanged" xlink:label="duot_NumberOfSharesExchanged" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_NumberOfSharesExchanged" xlink:to="duot_NumberOfSharesExchanged_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_NumberOfSharesExchanged_lbl" xml:lang="en-US">Number of shares exchanged</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NumberOfSharesCancelled" xlink:label="duot_NumberOfSharesCancelled" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_NumberOfSharesCancelled" xlink:to="duot_NumberOfSharesCancelled_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_NumberOfSharesCancelled_lbl" xml:lang="en-US">Number of shares cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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_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="duot-20240331.xsd#duot_FairMarketValuePercentage" xlink:label="duot_FairMarketValuePercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_FairMarketValuePercentage" xlink:to="duot_FairMarketValuePercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_FairMarketValuePercentage_lbl" xml:lang="en-US">Fair market value percentage</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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xml:lang="en-US">Purchase discount, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xml:lang="en-US">Accrued liability</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="duot-20240331.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: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/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Number of incentive stock options</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_3_lbl" xml:lang="en-US">Number of incentive stock options exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CumulativeRevenueRecognized" xlink:label="duot_CumulativeRevenueRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CumulativeRevenueRecognized" xlink:to="duot_CumulativeRevenueRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CumulativeRevenueRecognized_lbl" xml:lang="en-US">Cumulative revenues recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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-20240331.xsd#duot_CumulativeRevenuesRecognized" xlink:label="duot_CumulativeRevenuesRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CumulativeRevenuesRecognized" xlink:to="duot_CumulativeRevenuesRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_CumulativeRevenuesRecognized_lbl" xml:lang="en-US">Less: Cumulative revenues recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ContractLiabilitiesForTechnologiesSystems" xlink:label="duot_ContractLiabilitiesForTechnologiesSystems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ContractLiabilitiesForTechnologiesSystems" xlink:to="duot_ContractLiabilitiesForTechnologiesSystems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ContractLiabilitiesForTechnologiesSystems_lbl" xml:lang="en-US">Contract liabilities for technology systems</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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_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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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_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">Aggregate proceeds</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, shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConversionOfStockSharesConverted1" xlink:to="us-gaap_ConversionOfStockSharesConverted1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConversionOfStockSharesConverted1_2_lbl" xml:lang="en-US">Conversion of shares</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_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_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_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_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="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_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, Common, Value</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_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_3_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_RepaymentsOnFinancingAgreements" xlink:to="duot_RepaymentsOnFinancingAgreements_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_RepaymentsOnFinancingAgreements_2_lbl" xml:lang="en-US">RepaymentsOnFinancingAgreements</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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:to="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instrument Other than Option, Nonvested, Intrinsic Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</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="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_CumulativeRevenuesRecognized" xlink:to="duot_CumulativeRevenuesRecognized_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CumulativeRevenuesRecognized_2_lbl" xml:lang="en-US">CumulativeRevenuesRecognized</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">ContractLiabilitiesTechnologiesSystems</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_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>10
<FILENAME>duot-20240331_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.22b -->
    <!-- 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-20240331.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:href="duot-20240331.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="duot-20240331.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:href="duot-20240331.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StatementsOfChangesInStockholdersEquity" xlink:href="duot-20240331.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:href="duot-20240331.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Liquidity" xlink:href="duot-20240331.xsd#Liquidity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Debt" xlink:href="duot-20240331.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingencies" xlink:href="duot-20240331.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquity" xlink:href="duot-20240331.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccounting" xlink:href="duot-20240331.xsd#RevenueAndContractAccounting" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlan" xlink:href="duot-20240331.xsd#DefinedContributionPlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RelatedPartyTransactions" xlink:href="duot-20240331.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssets" xlink:href="duot-20240331.xsd#SaleOfAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEvents" xlink:href="duot-20240331.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtTables" xlink:href="duot-20240331.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityTables" xlink:href="duot-20240331.xsd#StockholdersEquityTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingTables" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsTables" xlink:href="duot-20240331.xsd#SaleOfAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="duot-20240331.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:href="duot-20240331.xsd#LiquidityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements" xlink:href="duot-20240331.xsd#DebtDetails-NotesPayableFinancingAgreements" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetailsNarrative" xlink:href="duot-20240331.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="duot-20240331.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-Assumptions" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-Assumptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-NonPlanOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetails-Warrants" xlink:href="duot-20240331.xsd#StockholdersEquityDetails-Warrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:href="duot-20240331.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-ContractAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-ContractLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative" xlink:href="duot-20240331.xsd#RevenueAndContractAccountingDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:href="duot-20240331.xsd#DefinedContributionPlanDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetails" xlink:href="duot-20240331.xsd#SaleOfAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:href="duot-20240331.xsd#SaleOfAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:href="duot-20240331.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: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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-gaapLiabilitiesAndStockholdersEquityAbstract" 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-gaapLiabilitiesAndStockholdersEquityAbstract" 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-gaapLiabilitiesAndStockholdersEquityAbstract" 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_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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="260" 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="270" 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="280" 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="290" 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="300" 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="310" 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="320" 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-20240331.xsd#duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:label="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" />
      <link:presentationArc order="330" 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="340" 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="350" 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="360" 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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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 (Unaudited)">
      <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_TechnologyServiceMember" xlink:label="loc_us-gaapTechnologyServiceMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapTechnologyServiceMember" 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: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="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS&apos; EQUITY (Unaudited)">
      <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="80" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_PreferredStockDMember" xlink:label="loc_duotPreferredStockDMember" />
      <link:presentationArc order="10" 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-20240331.xsd#duot_PreferredStockEMember" xlink:label="loc_duotPreferredStockEMember" />
      <link:presentationArc order="20" 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-20240331.xsd#duot_PreferredStockFMember" xlink:label="loc_duotPreferredStockFMember" />
      <link:presentationArc order="30" 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="40" 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="50" 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="60" 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="70" 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-20240331.xsd#duot_SeriesDPreferredStockIssued" xlink:label="loc_duotSeriesDPreferredStockIssued" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesDPreferredStockIssuedShares" xlink:label="loc_duotSeriesDPreferredStockIssuedShares" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockIssuedShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesEPreferredStockIssued" xlink:label="loc_duotSeriesEPreferredStockIssued" />
      <link:presentationArc order="50" 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-20240331.xsd#duot_SeriesEPreferredStockIssuedShares" xlink:label="loc_duotSeriesEPreferredStockIssuedShares" />
      <link:presentationArc order="60" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="70" 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_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts" />
      <link:presentationArc order="80" 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="90" 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="100" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross" 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="120" 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="130" 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="140" 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="00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)">
      <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-20240331.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-20240331.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_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="120" 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="130" 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="140" 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="150" 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="160" 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="170" 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="180" 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="190" 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="200" 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="210" 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="220" 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="230" 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-20240331.xsd#duot_RepaymentsOnFinancingAgreements" xlink:label="loc_duotRepaymentsOnFinancingAgreements" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_duotRepaymentsOnFinancingAgreements" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_RepaymentsOfLongTermCapitalLeaseObligation" xlink:label="loc_duotRepaymentsOfLongTermCapitalLeaseObligation" />
      <link:presentationArc order="250" 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-20240331.xsd#duot_IssuanceCosts" xlink:label="loc_duotIssuanceCosts" />
      <link:presentationArc order="260" 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_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="loc_us-gaapProceedsFromIssuanceOrSaleOfEquity" />
      <link:presentationArc order="270" 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="280" 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="290" 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="300" 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="310" 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="320" 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="330" 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="340" 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="350" 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="360" 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="995512 - 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="995513 - 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/Debt" xlink:title="995514 - 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/CommitmentsAndContingencies" xlink:title="995515 - 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/StockholdersEquity" xlink:title="995516 - 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/RevenueAndContractAccounting" xlink:title="995517 - Disclosure - REVENUE 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/DefinedContributionPlan" xlink:title="995518 - 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="995519 - 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="995520 - Disclosure - SALE OF ASSETS">
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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="995521 - 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="995522 - 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-20240331.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_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaapConsolidationPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConsolidationPolicyTextBlock" 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="30" 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="40" 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="50" 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="60" 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="70" 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_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapShareholdersEquityAndShareBasedPaymentsTextBlock" />
      <link:presentationArc order="90" 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_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="100" 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-20240331.xsd#duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" xlink:label="loc_duotMultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" />
      <link:presentationArc order="110" 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_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaapLesseeLeasesPolicyTextBlock" />
      <link:presentationArc order="120" 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_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="130" 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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="140" 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/DebtTables" xlink:title="995523 - 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/CommitmentsAndContingenciesTables" xlink:title="995524 - 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-20240331.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/StockholdersEquityTables" xlink:title="995525 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Tables)">
      <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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:type="arc" />
      <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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" 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_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingTables" xlink:title="995526 - Disclosure - REVENUE 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-20240331.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-20240331.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/SaleOfAssetsTables" xlink:title="995527 - Disclosure - SALE OF ASSETS (Tables)">
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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="995528 - 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-20240331.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-20240331.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-20240331.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-20240331.xsd#duot_ThreeCustomerMember" xlink:label="loc_duotThreeCustomerMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotThreeCustomerMember" 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="70" 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="120" 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/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="50" />
      <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="140" 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-20240331.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-20240331.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember" />
      <link:presentationArc order="170" 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_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="60" />
      <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="150" 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_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding" />
      <link:presentationArc order="20" 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-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" />
      <link:presentationArc order="30" 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-20240331.xsd#duot_ConversionOfStockSharesConverted" xlink:label="loc_duotConversionOfStockSharesConverted" />
      <link:presentationArc order="40" 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="995529 - 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_WorkingCapitalSurplus" xlink:label="loc_duotWorkingCapitalSurplus" />
      <link:presentationArc order="20" 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="30" 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/DebtDetails-NotesPayableFinancingAgreements" xlink:title="995530 - 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-20240331.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-20240331.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-20240331.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="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="995531 - 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-20240331.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-20240331.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-20240331.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="loc_duotThirdPartyInsuranceNoteThreeMember" />
      <link:presentationArc order="90" 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-20240331.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="loc_duotThirdPartyInsuranceNoteFourMember" />
      <link:presentationArc order="110" 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_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-20240331.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-20240331.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-20240331.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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:title="995532 - 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="995533 - 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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" />
      <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="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" />
      <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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" />
      <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="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" />
      <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="40" 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="duot-20240331.xsd#duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="loc_duotLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_duotLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" 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="995534 - 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-20240331.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-20240331.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/StockholdersEquityDetails-Assumptions" xlink:title="995535 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Assumptions )">
      <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_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-gaapEquityAbstract" 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_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" 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-gaapStatementTable" 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="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice" 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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan" xlink:title="995536 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Employee stock purchase plan)">
      <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="duot-20240331.xsd#duot_CashPaymentReceivedFromEmployeeWithholdings" xlink:label="loc_duotCashPaymentReceivedFromEmployeeWithholdings" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_duotCashPaymentReceivedFromEmployeeWithholdings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" xlink:label="loc_duotCashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_duotCashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashAndEsppEmployeeWithholdingLiability" xlink:label="loc_duotCashAndEsppEmployeeWithholdingLiability" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_duotCashAndEsppEmployeeWithholdingLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares" xlink:label="loc_duotCashFromEmployeeWithholdingsUsedToPurchaseEsppShares" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_duotCashFromEmployeeWithholdingsUsedToPurchaseEsppShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="loc_us-gaapEmployeeBenefitsAndShareBasedCompensation" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapEmployeeBenefitsAndShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_TotalChargesRelatedToEmployeeStockPurchasePlan" xlink:label="loc_duotTotalChargesRelatedToEmployeeStockPurchasePlan" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_duotTotalChargesRelatedToEmployeeStockPurchasePlan" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions" xlink:title="995537 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Non plan options)">
      <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_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-gaapEquityAbstract" 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="duot-20240331.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1" 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-20240331.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2" />
      <link:presentationArc order="120" 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="130" 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="140" 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="150" 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="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetails-Warrants" xlink:title="995538 - Disclosure - STOCKHOLDERS&apos; EQUITY (Details - Warrants)">
      <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_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossTable" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_WarrantsExpiredForfeitedCancelledOrExercised" xlink:label="loc_duotWarrantsExpiredForfeitedCancelledOrExercised" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_duotWarrantsExpiredForfeitedCancelledOrExercised" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapConversionOfStockSharesIssued1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_2" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" 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="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:title="995539 - 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_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="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-20240331.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember" />
      <link:presentationArc order="10" 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-20240331.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember" />
      <link:presentationArc order="50" 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-20240331.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember" />
      <link:presentationArc order="100" 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-20240331.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember" />
      <link:presentationArc order="180" 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-20240331.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember" />
      <link:presentationArc order="240" 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_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="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" />
      <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-20240331.xsd#duot_PurchaseAgreementMember" xlink:label="loc_duotPurchaseAgreementMember" />
      <link:presentationArc order="70" 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/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="30" />
      <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-20240331.xsd#duot_ThreeDirectorsMember" xlink:label="loc_duotThreeDirectorsMember" />
      <link:presentationArc order="320" 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-20240331.xsd#duot_EmployeesAndDirectorsMember" xlink:label="loc_duotEmployeesAndDirectorsMember" />
      <link:presentationArc order="450" 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="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_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="320" 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_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="50" />
      <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-20240331.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="loc_duotEmployeeStockPurchasePlanMember" />
      <link:presentationArc order="360" 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="duot-20240331.xsd#duot_Plan2021Member" xlink:label="loc_duotPlan2021Member" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotPlan2021Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_Plan2016Member" xlink:label="loc_duotPlan2016Member" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotPlan2016Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NonPlanMember" xlink:label="loc_duotNonPlanMember" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotNonPlanMember" 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="60" />
      <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="duot-20240331.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="loc_duotEmployeeStockPurchasePlanMember_2" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_duotEmployeeStockPurchasePlanMember_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_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="70" />
      <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_CallOptionMember" xlink:label="loc_us-gaapCallOptionMember" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:to="loc_us-gaapCallOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PutOptionMember" xlink:label="loc_us-gaapPutOptionMember" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:to="loc_us-gaapPutOptionMember" 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="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="480" 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="duot-20240331.xsd#duot_PreferredStockSharesAvailableToBeDesignated" xlink:label="loc_duotPreferredStockSharesAvailableToBeDesignated" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" 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_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="10" 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="20" 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="30" 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="40" 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="50" 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="60" 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="70" 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_PreferredStockRedemptionPricePerShare" xlink:label="loc_us-gaapPreferredStockRedemptionPricePerShare" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" 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_ProceedsFromIssuanceOfConvertiblePreferredStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock" />
      <link:presentationArc order="90" 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-20240331.xsd#duot_SeriesCPreferredConvertedToCommonStockShares" xlink:label="loc_duotSeriesCPreferredConvertedToCommonStockShares" />
      <link:presentationArc order="100" 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="110" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="120" 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_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="130" 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_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="140" 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_ConversionOfStockSharesConverted1" xlink:label="loc_us-gaapConversionOfStockSharesConverted1" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapConversionOfStockSharesConverted1" 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_PreferredStockConvertibleSharesIssuable" xlink:label="loc_us-gaapPreferredStockConvertibleSharesIssuable" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleSharesIssuable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesEPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesEPreferredConvertiblePreferredStockShares" />
      <link:presentationArc order="170" 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="180" 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_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare" />
      <link:presentationArc order="190" 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-20240331.xsd#duot_StockExchangeShares" xlink:label="loc_duotStockExchangeShares" />
      <link:presentationArc order="200" 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-20240331.xsd#duot_NumberOfSharesExchanged" xlink:label="loc_duotNumberOfSharesExchanged" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotNumberOfSharesExchanged" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_NumberOfSharesCancelled" xlink:label="loc_duotNumberOfSharesCancelled" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotNumberOfSharesCancelled" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_SeriesFPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesFPreferredConvertiblePreferredStockShares" />
      <link:presentationArc order="230" 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="240" 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="250" 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="260" 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="270" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="280" 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="290" 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="duot-20240331.xsd#duot_FairMarketValuePercentage" xlink:label="loc_duotFairMarketValuePercentage" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotFairMarketValuePercentage" 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="310" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAccruedLiabilitiesAndOtherLiabilities" 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="340" 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="duot-20240331.xsd#duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:label="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" />
      <link:presentationArc order="350" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets" xlink:title="995540 - Disclosure - REVENUE 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-20240331.xsd#duot_CumulativeRevenueRecognized" xlink:label="loc_duotCumulativeRevenueRecognized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotCumulativeRevenueRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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/RevenueAndContractAccountingDetails-ContractLiabilities" xlink:title="995541 - Disclosure - REVENUE 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-20240331.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-20240331.xsd#duot_CumulativeRevenuesRecognized" xlink:label="loc_duotCumulativeRevenuesRecognized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotCumulativeRevenuesRecognized" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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/RevenueAndContractAccountingDetails-disaggregatedRevenue" xlink:title="995542 - Disclosure - REVENUE 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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.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-20240331.xsd#duot_MaintenanceAndSupportMember" xlink:label="loc_duotMaintenanceAndSupportMember" />
      <link:presentationArc order="110" 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-20240331.xsd#duot_AlgorithmsMember" xlink:label="loc_duotAlgorithmsMember" />
      <link:presentationArc order="160" 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-20240331.xsd#duot_GoodsTransferredOverTimeMember" xlink:label="loc_duotGoodsTransferredOverTimeMember" />
      <link:presentationArc order="250" 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-20240331.xsd#duot_ServicesTransferredOverTimeMember" xlink:label="loc_duotServicesTransferredOverTimeMember" />
      <link:presentationArc order="300" 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/RevenueAndContractAccountingDetailsNarrative" xlink:title="995543 - Disclosure - REVENUE 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-20240331.xsd#duot_ContractLiabilitiesForTechnologiesSystems" xlink:label="loc_duotContractLiabilitiesForTechnologiesSystems" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotContractLiabilitiesForTechnologiesSystems" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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/DefinedContributionPlanDetailsNarrative" xlink:title="995544 - 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="995545 - Disclosure - SALE OF ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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="995546 - Disclosure - SALE OF ASSETS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="duot-20240331.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20240331.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-20240331.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-20240331.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="995547 - 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_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="10" />
      <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_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="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" />
      <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_SeriesDPreferredStockMember" xlink:label="loc_us-gaapSeriesDPreferredStockMember" />
      <link:presentationArc order="10" 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_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="40" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction" 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="10" 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_PreferredStockConvertibleConversionPrice" xlink:label="loc_us-gaapPreferredStockConvertibleConversionPrice" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleConversionPrice" 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_ConversionOfStockSharesConverted1" xlink:label="loc_us-gaapConversionOfStockSharesConverted1" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapConversionOfStockSharesConverted1" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741608072864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>May 10, 2024</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>
</tr>
<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-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<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_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<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">Mar. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,531,986<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly 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-Q<br> -Number 240<br> -Section 308<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;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_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>13
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606541296">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,977,592<span></span>
</td>
<td class="nump">$ 2,441,842<span></span>
</td>
</tr>
<tr class="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">596,090<span></span>
</td>
<td class="nump">1,462,463<span></span>
</td>
</tr>
<tr class="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">912,046<span></span>
</td>
<td class="nump">641,947<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">&#160;Inventory</a></td>
<td class="nump">1,502,337<span></span>
</td>
<td class="nump">1,526,165<span></span>
</td>
</tr>
<tr class="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">398,856<span></span>
</td>
<td class="nump">184,478<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,386,921<span></span>
</td>
<td class="nump">6,256,895<span></span>
</td>
</tr>
<tr class="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">645,342<span></span>
</td>
<td class="nump">726,507<span></span>
</td>
</tr>
<tr class="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,289,807<span></span>
</td>
<td class="nump">4,373,155<span></span>
</td>
</tr>
<tr class="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">550,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">155,625<span></span>
</td>
<td class="nump">153,750<span></span>
</td>
</tr>
<tr class="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">127,357<span></span>
</td>
<td class="nump">129,140<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer', window );">&#160;Software development costs, net</a></td>
<td class="nump">587,388<span></span>
</td>
<td class="nump">652,838<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">870,370<span></span>
</td>
<td class="nump">935,728<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,742,440<span></span>
</td>
<td class="nump">12,842,285<span></span>
</td>
</tr>
<tr class="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">179,916<span></span>
</td>
<td class="nump">595,634<span></span>
</td>
</tr>
<tr class="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">183,763<span></span>
</td>
<td class="nump">41,976<span></span>
</td>
</tr>
<tr class="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">240,483<span></span>
</td>
<td class="nump">164,113<span></span>
</td>
</tr>
<tr class="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;Operating lease obligations-current portion</a></td>
<td class="nump">783,944<span></span>
</td>
<td class="nump">779,087<span></span>
</td>
</tr>
<tr class="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 );">&#160;Contract liabilities</a></td>
<td class="nump">1,692,940<span></span>
</td>
<td class="nump">1,666,243<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_LiabilitiesCurrent', window );">&#160;Total Current Liabilities</a></td>
<td class="nump">3,081,046<span></span>
</td>
<td class="nump">3,247,053<span></span>
</td>
</tr>
<tr class="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 );">&#160;Operating lease obligations, less current portion</a></td>
<td class="nump">4,141,555<span></span>
</td>
<td class="nump">4,228,718<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_Liabilities', window );">&#160;Total Liabilities</a></td>
<td class="nump">7,222,601<span></span>
</td>
<td class="nump">7,475,771<span></span>
</td>
</tr>
<tr class="ro">
<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 4)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_CommonStockValue', window );">Common stock: $0.001 par value; 500,000,000 shares authorized, 7,315,318 and 7,306,663 shares issued, 7,313,994 and 7,305,339 shares outstanding at March 31, 2024 and December 31, 2023, respectively</a></td>
<td class="nump">7,315<span></span>
</td>
<td class="nump">7,306<span></span>
</td>
</tr>
<tr class="re">
<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">72,025,821<span></span>
</td>
<td class="nump">69,120,199<span></span>
</td>
</tr>
<tr class="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 );">&#160;Accumulated deficit</a></td>
<td class="num">(66,355,861)<span></span>
</td>
<td class="num">(63,603,552)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit', window );">&#160;Sub-total</a></td>
<td class="nump">5,677,291<span></span>
</td>
<td class="nump">5,523,966<span></span>
</td>
</tr>
<tr class="ro">
<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 &#160;at March 31, 2024 and December 31, 2023)</a></td>
<td class="num">(157,452)<span></span>
</td>
<td class="num">(157,452)<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_StockholdersEquity', window );">&#160;Total Stockholders' Equity</a></td>
<td class="nump">5,519,839<span></span>
</td>
<td class="nump">5,366,514<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_LiabilitiesAndStockholdersEquity', window );">&#160;Total Liabilities and Stockholders' Equity</a></td>
<td class="nump">12,742,440<span></span>
</td>
<td class="nump">12,842,285<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_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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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">2<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="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">14<span></span>
</td>
<td class="nump">12<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="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">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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>14
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741607888080">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,315,318<span></span>
</td>
<td class="nump">7,306,663<span></span>
</td>
</tr>
<tr class="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,313,994<span></span>
</td>
<td class="nump">7,305,339<span></span>
</td>
</tr>
<tr class="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 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">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 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">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 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">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,919<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,919<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 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">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">13,625<span></span>
</td>
<td class="nump">11,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_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">13,625<span></span>
</td>
<td class="nump">11,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_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 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">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 );">- 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_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>15
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606717536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_RevenuesAbstract', window );"><strong>&#160;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 );">&#160;Total Revenues</a></td>
<td class="nump">$ 1,070,680<span></span>
</td>
<td class="nump">$ 2,644,288<span></span>
</td>
</tr>
<tr class="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>&#160;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">976,048<span></span>
</td>
<td class="nump">2,107,116<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 );">&#160;GROSS MARGIN</a></td>
<td class="nump">94,632<span></span>
</td>
<td class="nump">537,172<span></span>
</td>
</tr>
<tr class="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>&#160;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">553,486<span></span>
</td>
<td class="nump">307,577<span></span>
</td>
</tr>
<tr class="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">382,142<span></span>
</td>
<td class="nump">404,885<span></span>
</td>
</tr>
<tr class="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">1,920,050<span></span>
</td>
<td class="nump">1,971,508<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">2,855,678<span></span>
</td>
<td class="nump">2,683,970<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 );">&#160;LOSS FROM OPERATIONS</a></td>
<td class="num">(2,761,046)<span></span>
</td>
<td class="num">(2,146,798)<span></span>
</td>
</tr>
<tr class="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>&#160;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 );">&#160;&#160;&#160;&#160;Interest expense</a></td>
<td class="num">(445)<span></span>
</td>
<td class="num">(1,180)<span></span>
</td>
</tr>
<tr class="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 );">&#160;&#160;&#160;&#160;Other income, net</a></td>
<td class="nump">9,182<span></span>
</td>
<td class="nump">4,295<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 );">&#160;Total Other Income (Expenses)</a></td>
<td class="nump">8,737<span></span>
</td>
<td class="nump">3,115<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 );">&#160;NET LOSS</a></td>
<td class="num">$ (2,752,309)<span></span>
</td>
<td class="num">$ (2,143,683)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic Net Loss Per Share</a></td>
<td class="num">$ (0.38)<span></span>
</td>
<td class="num">$ (0.30)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted Net Loss Per Share</a></td>
<td class="num">$ (0.38)<span></span>
</td>
<td class="num">$ (0.30)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted Average Shares-Basic</a></td>
<td class="nump">7,306,949<span></span>
</td>
<td class="nump">7,156,876<span></span>
</td>
</tr>
<tr class="ro">
<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,306,949<span></span>
</td>
<td class="nump">7,156,876<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_TechnologyServiceMember', window );">Technology Service [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>&#160;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 );">&#160;Total Revenues</a></td>
<td class="nump">$ 269,855<span></span>
</td>
<td class="nump">$ 1,827,764<span></span>
</td>
</tr>
<tr class="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>&#160;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">583,437<span></span>
</td>
<td class="nump">1,767,209<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>&#160;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 );">&#160;Total Revenues</a></td>
<td class="nump">800,825<span></span>
</td>
<td class="nump">816,524<span></span>
</td>
</tr>
<tr class="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>&#160;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">$ 392,611<span></span>
</td>
<td class="nump">$ 339,907<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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TechnologyServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>16
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606348976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited) - USD ($)<br></strong></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, 2022</a></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 );">Beginning balance, shares at Dec. 31, 2022</a></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="re">
<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="nump">$ 4<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">3,999,996<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,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_SeriesEPreferredStockIssuedShares', window );">Series E preferred stock issued, shares</a></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>
</tr>
<tr class="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="nump">75,128<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">75,128<span></span>
</td>
</tr>
<tr class="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="num">(299,145)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(299,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_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="nump">$ 12<span></span>
</td>
<td class="nump">32,488<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">32,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="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>
</tr>
<tr class="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="num">(2,143,683)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(2,143,683)<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 Mar. 31, 2023</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7,168<span></span>
</td>
<td class="nump">60,371,067<span></span>
</td>
<td class="num">(54,505,517)<span></span>
</td>
<td class="num">(157,452)<span></span>
</td>
<td class="nump">5,715,271<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 Mar. 31, 2023</a></td>
<td class="nump">1,299<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,169,339<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2023</a></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 );">Beginning balance, shares at Dec. 31, 2023</a></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>
<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_SeriesDPreferredStockIssued', window );">Series D preferred stock issued</a></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">619,999<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">620,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_SeriesDPreferredStockIssuedShares', window );">Series D preferred stock issued, shares</a></td>
<td class="nump">620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">$ 2<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,125,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,125,002<span></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="nump">2,125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">141,204<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">141,204<span></span>
</td>
</tr>
<tr class="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="num">(36,188)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(36,188)<span></span>
</td>
</tr>
<tr class="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="nump">$ 9<span></span>
</td>
<td class="nump">37,491<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">37,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_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="nump">8,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross', window );">Stock compensation under ESPP</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">18,116<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">18,116<span></span>
</td>
</tr>
<tr class="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="num">(2,752,309)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(2,752,309)<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 Mar. 31, 2024</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 14<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7,315<span></span>
</td>
<td class="nump">$ 72,025,821<span></span>
</td>
<td class="num">$ (66,355,861)<span></span>
</td>
<td class="num">$ (157,452)<span></span>
</td>
<td class="nump">$ 5,519,839<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 Mar. 31, 2024</a></td>
<td class="nump">1,919<span></span>
</td>
<td class="nump">13,625<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,315,318<span></span>
</td>
<td class="text">&#160;<span></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_SeriesDPreferredStockIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SeriesDPreferredStockIssued</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_SeriesDPreferredStockIssuedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SeriesDPreferredStockIssuedShares</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_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_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_StockIssuedDuringPeriodValueShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</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_StockIssuedDuringPeriodValueShareBasedCompensationGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>17
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741607999824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_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">$ (2,752,309)<span></span>
</td>
<td class="num">$ (2,143,683)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">158,208<span></span>
</td>
<td class="nump">116,588<span></span>
</td>
</tr>
<tr class="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">159,320<span></span>
</td>
<td class="nump">75,128<span></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">37,500<span></span>
</td>
<td class="nump">32,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">83,348<span></span>
</td>
<td class="nump">77,101<span></span>
</td>
</tr>
<tr class="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">866,373<span></span>
</td>
<td class="nump">2,700,917<span></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">(1,875)<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_IncreaseDecreaseInContractWithCustomerAsset', window );">&#160;&#160;&#160;Contract assets</a></td>
<td class="num">(270,099)<span></span>
</td>
<td class="num">(1,000,590)<span></span>
</td>
</tr>
<tr class="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="nump">23,828<span></span>
</td>
<td class="num">(101,167)<span></span>
</td>
</tr>
<tr class="re">
<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">57,944<span></span>
</td>
<td class="nump">228,941<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">&#160;&#160;&#160;Accounts payable</a></td>
<td class="num">(415,718)<span></span>
</td>
<td class="num">(1,008,207)<span></span>
</td>
</tr>
<tr class="re">
<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="nump">76,370<span></span>
</td>
<td class="num">(85,371)<span></span>
</td>
</tr>
<tr class="ro">
<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">(82,306)<span></span>
</td>
<td class="num">(8,107)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">&#160;&#160;&#160;Contract liabilities</a></td>
<td class="nump">26,697<span></span>
</td>
<td class="nump">1,108,864<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(2,032,719)<span></span>
</td>
<td class="num">(7,086)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" 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">(980)<span></span>
</td>
<td class="num">(7,339)<span></span>
</td>
</tr>
<tr class="re">
<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="nump">0<span></span>
</td>
<td class="num">(212,067)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">&#160;&#160;&#160;&#160;Purchase of fixed assets</a></td>
<td class="num">(8,830)<span></span>
</td>
<td class="num">(41,738)<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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(9,810)<span></span>
</td>
<td class="num">(261,144)<span></span>
</td>
</tr>
<tr class="ro">
<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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_RepaymentsOnFinancingAgreements', window );">&#160;&#160;&#160;Repayments on financing agreements</a></td>
<td class="num">(130,535)<span></span>
</td>
<td class="num">(201,485)<span></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_RepaymentsOfLongTermCapitalLeaseObligation', window );">&#160;&#160;&#160;Repayment of finance lease</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(11,285)<span></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;Stock issuance cost</a></td>
<td class="num">(36,188)<span></span>
</td>
<td class="num">(299,145)<span></span>
</td>
</tr>
<tr class="ro">
<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">2,745,002<span></span>
</td>
<td class="nump">4,000,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">2,578,279<span></span>
</td>
<td class="nump">3,488,085<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net increase in cash</a></td>
<td class="nump">535,750<span></span>
</td>
<td class="nump">3,219,855<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, beginning of period</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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, end of period</a></td>
<td class="nump">2,977,592<span></span>
</td>
<td class="nump">4,340,947<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="ro">
<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">0<span></span>
</td>
<td class="nump">1,180<span></span>
</td>
</tr>
<tr class="re">
<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">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_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="re">
<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">$ 272,322<span></span>
</td>
<td class="nump">$ 320,004<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_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_RepaymentsOnFinancingAgreements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RepaymentsOnFinancingAgreements</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_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_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>18
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518577312">
<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">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_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">$ (2,752,309)<span></span>
</td>
<td class="num">$ (2,143,683)<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>19
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518340912">
<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>Mar. 31, 2024</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>20
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741516876816">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_803_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zPqevMucfktl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 1 &#8211; <span id="xdx_82E_zlUHQjp8Ujuj">NATURE OF OPERATIONS AND SUMMARY
OF SIGNIFICANT ACCOUNTING POLICIES</span></b></p>

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

<p id="xdx_84A_ecustom--NatureOfOperationsPolicyTextBlock_zaHssE5rWvt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_862_zMtafsqjvm74">Nature of Operations</span></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">Duos Technologies Group, Inc. (the &#8220;Company&#8221;),
through its operating subsidiary, Duos Technologies, Inc. (&#8220;Duos&#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, which can assist law enforcement agencies. Each rail car is scanned
with machine vision cameras and other sensors from the top, sides, and bottom, where images are produced within seconds of the railcar
passing. These images can then 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, Information Technology (&#8220;IT&#8221;), and Artificial Intelligence development
and engineering. The Company maintains significant intellectual property and continues to be awarded additional patents for both the technology
and methodologies used. The Company also has a proprietary portfolio of approximately 50 Artificial Intelligence &#8220;Use Cases&#8221;
that automatically flag defects. The Company has deployed this system with several Class 1 railroads and one major passenger carrier and
anticipates an increased demand in the future from railcar operators, owners, shippers, transit railroads as well as 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 (&#8220;ALIS&#8221;) 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 and significantly improve operations and security and, importantly, dramatically improve
throughput on each lane on which the technology is deployed. The Company is not currently actively pursuing further customers for ALIS
but will continue to analyze the potential market and expects to deploy an upgraded Truck Inspection Portal (TIP) which uses the same
technology and lessons learned from the ALIS and RIP systems at some point in 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">The Company&#8217;s strategy for the rail industry
is to expand beyond our existing customer base in the Class 1 and major passenger transit market and we expect to add additional users
in the short line and regional transit markets in North America. In addition, we plan to expand our subscription offering to car owners
and shippers and expand operations to meet the demand from international customers. The Company is 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.
The Company is also further investigating market opportunities for subsets of its technology including deployment and management of Edge
Data Centers, a fundamental component of the distributed, rapid response data analysis used in the RIP.</p>

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














<p id="xdx_84D_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBq6Xygueh4e" 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"><span id="xdx_86B_zNpIXWWgv5q7">Basis of Presentation</span></span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The accompanying unaudited consolidated financial
statements have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) for interim financial
information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information
and footnotes required by U.S. GAAP for complete financial statements. In the opinion of management, all adjustments (all of which are
of a normal recurring nature) considered necessary for a fair presentation have been included. Operating results for the three months
ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any
other future period. These unaudited consolidated financial statements and the unaudited condensed notes thereto should be read in conjunction
with the audited consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the
year ended December 31, 2023 filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) on April 1, 2024.</p>

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

<p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_z8YlzzcX3JD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_860_zMLSMwuRZd36">Principles of Consolidation</span></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">The unaudited consolidated financial statements include
Duos Technologies Group, Inc. and its wholly owned subsidiary, Duos Technologies, Inc. All inter-company transactions and balances are
eliminated in consolidation.</p>

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

<p id="xdx_84B_eus-gaap--UseOfEstimates_zp8C9K2wKvD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86B_zbmzQFXHlCU2">Use of Estimates</span></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">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 unaudited 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"><b>&#160;&#160;</b></p>

<p id="xdx_840_eus-gaap--ConcentrationRiskCreditRisk_z8w3gMHs5v64" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_867_zx4oNEjQuIph">Concentrations</span> </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"><b>Cash Concentrations</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">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 March 31, 2024,
the balance in one financial institution exceeded federally insured limits by approximately $<span id="xdx_904_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20240331_zZuka0gZkPUd" title="Federally insured limits">2,485,140</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"><b>Significant Customers and Concentration of Credit Risk</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; background-color: white">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 three months ended March 31, 2024, three customers
accounted for <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zwNxqCQQI0E9" title="Concentration risk, percentage">31</span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zzdIHAiJmEug" title="Concentration risk, percentage">30</span>% and <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWFP0B6HzCKf" title="Concentration risk, percentage">26</span>% of revenues. For the three months ended March 31, 2023, two customers accounted for <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zk5LczjHVVne" title="Concentration risk, percentage">70</span>%, and <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2mkSBl2Edkg" title="Concentration risk, percentage">20</span>% of revenues.
In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a Railcar 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 may be 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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At March 31, 2024, three customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zIvP7Akv2yC8" title="Concentration risk, percentage">49</span>%,
<span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zSiZlxvAriUc" title="Concentration risk, percentage">38</span>%, and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zT310z1zM5el" title="Concentration risk, percentage">13</span>% of accounts receivable. At December 31, 2023, two customers accounted for <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2vh1ar0IRKd" title="Concentration risk, percentage">83</span>%, and <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zJcXibCCQ1K9" title="Concentration risk, percentage">11</span>% of accounts receivable. Much of the
credit risk is mitigated since all 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;<b>&#160;</b></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>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">For the three months ended March 31, 2024, approximately
<span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zcYYnwyzwspe" title="Concentration risk, percentage">61</span>% of revenue was generated from three customers outside of the United States. For the three months ended March 31, 2023, approximately
<span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z8rRVdEWDWE8" title="Concentration risk, percentage">25</span>% of revenue was generated from three customers outside 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"><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 id="xdx_842_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_zP9a1l59MW0g" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86E_zqghakBErRl4">Fair Value of Financial Instruments and Fair Value Measurements</span></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">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">&#160;</p>

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

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

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 10%"><span style="font-size: 10pt">Level 1:</span></td>
    <td style="width: 90%"><span style="font-size: 10pt">Observable inputs such as quoted market prices in active markets for identical assets or liabilities.&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Level 2:</span></td>
    <td><span style="font-size: 10pt">Observable market-based inputs or unobservable inputs that are corroborated by market data.&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Level 3:</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">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.</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: 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_840_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zftffehktW2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_860_z4eCWCiv3OMk">Accounts Receivable</span></span></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">On January 1, 2023, the Company adopted ASC 326, &#8220;Financial
Instruments - Credit Losses&#8221;. In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make the 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 credit loss 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 the
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">&#160;</p>

<p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zt6AsdueeOn3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_866_z0PHz2YJYgNb">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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

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

<p id="xdx_845_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zhNEKBxPkZPl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_z3aD8M66lsu4">Software Development 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">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 capitalized 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_844_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_z8MiDFu5EiCf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zghcKTThEE84">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;Share-Based Payment,&#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">&#160;</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.&#160;</p>

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

<p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zjZn7DKLAga2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86B_znzOJceFgwT1">Revenue Recognition</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
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: 12pt 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-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>
<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: 12pt 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-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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-size: 10pt">3.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Determine the transaction price;</span></td></tr>
  </table>










<p style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-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; 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:</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(1) Technology 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">(2) AI Technologies</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(4) Consulting 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"><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: 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>

<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 three sources: (1) Professional Services (consulting and auditing); (2) Customer service training
and (3) Maintenance/support.</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(2) 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; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(3) Maintenance/support is an optional product sold
to our software license customers under one-year or longer contracts. Accordingly, maintenance payments received upfront are deferred
and recognized over the contract term.</p>

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

<p id="xdx_840_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zqRSEfEOdDfj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span id="xdx_868_zGvGX6w68Qna">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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>









<p id="xdx_841_eus-gaap--LesseeLeasesPolicyTextBlock_z9yzlht1VdH1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_865_zH8Mba3nBky">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 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 Times New 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 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 as an
expense when 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 Times New 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 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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt 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.</p>

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

<p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_z8451qNfuF3f" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_zL9q36UAiN76">Earnings (Loss) Per Share</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">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. &#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">At March 31, 2024, there were (i) an aggregate of
<span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zsQwJ1dwA7se" 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_909_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfuFCW0JFxQa" title="Number of incentive stock options">1,387,775</span> shares
of common stock, (iii) <span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zTRSqfRkw4i9" title="Common shares issuable upon conversion">639,667</span> common shares issuable upon conversion of Series D Convertible Preferred Stock, and (iv) <span id="xdx_90A_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znTBa65t7nYj" title="Common shares issuable upon conversion">4,541,667</span> common
shares issuable upon conversion of Series E 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 March 31, 2023, there were (i) an aggregate of
<span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20230331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zl5nAPnk7nrf" title="Outstanding warrants">80,091</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_c20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoXKvKGkcYUk" title="Number of incentive stock options">924,658</span> shares
of common stock, (iii) <span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zcvmaF5XFkBh" title="Common shares issuable upon conversion">433,000</span> common shares issuable upon conversion of Series D Convertible Preferred Stock and (iv) <span id="xdx_904_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zll8wReGxkr9" title="Common shares issuable upon conversion">1,333,334</span> common
shares issuable upon conversion of Series E Convertible Preferred Stock, all of which were excluded from the computation of diluted 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"><b>&#160;</b></p>







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

<p id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zYDNGBOQoPB8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_z6UYlmJRcE4">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"></p>

<p style="font: 10pt Times New 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 November 2023, the FASB issued ASU 2023-07 Segment
Reporting (Topic 280): Improvements to Reportable Segment Disclosures. 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 has evaluated the disclosure impact of ASU 2023-07; and determined 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; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In December 2023, the FASB issued ASU No. 2023-09
Income Taxes (Topic 740): Improvements to Income Tax Disclosures. 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.</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">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>21
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741515647808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LIQUIDITY<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_80D_eus-gaap--SubstantialDoubtAboutGoingConcernTextBlock_zoecPWBfNkN1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 2 &#8211; <span id="xdx_829_zyOgw6v1ceT7">LIQUIDITY</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">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">&#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_905_eus-gaap--ProfitLoss_c20240101__20240331_zo2bDXXX5pR2" title="Net loss">2,752,309</span> for the three months ended March 31, 2024. During the same period, cash used in operating
activities was $<span id="xdx_90C_eus-gaap--NetCashProvidedByUsedInOperatingActivities_iN_di_c20240101__20240331_ztFZtxJd6fRf" title="Cash used in operating activities">2,032,719</span>. The working capital surplus and accumulated deficit as of March 31, 2024, were $<span id="xdx_90D_ecustom--WorkingCapitalSurplus_iI_pp0p0_c20240331_zkkoZAeJsc24" title="Working capital surplus">3,305,875</span> and $<span id="xdx_907_eus-gaap--RetainedEarningsAccumulatedDeficit_iNI_di_c20240331_zlD6BBAHpdIl" title="Accumulated deficit">66,355,861</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 underwritten offerings and private placements which were completed during 2022, 2023, and now
the first and second quarters of 2024 as well.</p>

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









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

<p style="font: 10pt Aptos; margin: 0 0 6pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">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 5). 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 filing 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.</span>&#160;<span style="font-family: Times New Roman, Times, Serif">&#160;</span></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">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, and growing the Company sufficiently
to generate enough revenue to attain consistently profitable operations. The Company cannot currently quantify the uncertainty related
to previous supply chain delays or the persistence of inflation and their effects on our customers in the coming quarters. We have analyzed
our cash flow under &#8220;stress test&#8221; conditions and have determined that we have sufficient liquid assets on hand, forthcoming
with ongoing business or available via the capital markets to maintain operations for at least twelve months from the 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 been taking 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, as described above,
it will have sufficient sources of working capital to meet its obligations over the following twelve months. In the last twelve months
the Company has experienced relatively steady contracted backlog as well as seen positive signs from new commercial engagements that indicate
improvements in future commercial opportunities for both one-time capital and recurring services 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, the consequent need to procure certain materials in advance of a binding contract and
the additional time needed to execute on new contracts previously reported have put a strain on our cash reserves. However, proactive
management of our existing contracts, recent stock offerings and private placements as well as the availability to raise capital via our
shelf registration indicate there is no substantial doubt that the Company can continue as a going concern for a period of twelve months
from the issuance date of this report. 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 twelve
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, continued in 2023, and will continue
in 2024 and beyond. 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 0 8pt"></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_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>22
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606964368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_80C_eus-gaap--DebtDisclosureTextBlock_zvaIZ3JEuwv2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 3 &#8211; <span id="xdx_82B_zqHvEnXgZsui">DEBT</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"><b><span style="text-decoration: underline">Notes Payable - Financing Agreements</span></b></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: justify">The Company&#8217;s notes payable relating to financing
agreements classified as current liabilities consist of the following as of March 31, 2024 and December 31, 2023:</p>

<table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--ScheduleOfDebtTableTextBlock_zzxdPKLcHZph" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - DEBT (Details - Notes payable financing agreements)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BD_zenxFUUFUUUh" 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>&#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">March 31, 2024</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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31, 2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">Notes Payable</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">Principal</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">Interest</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">Principal</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">Interest</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">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#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: 48%; text-align: left">Third Party - Insurance Note 1</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_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zhqIWrCPbcVb" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal">&#8212;</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: 10%; text-align: right">&#8212;</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 id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z248whUIcdf7" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal">39,968</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: 10%; text-align: right"><span id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCKntMUe2VBk" title="Notes payable, interest">8.00</span></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">Third Party - Insurance Note 2</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_98F_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z4VOFclNUZyj" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">22,438</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">&#8212;</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--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zQG4KQiHm34a" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">2,008</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">&#8212;</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-align: left; padding-bottom: 1pt">Third Party - Insurance Note 3</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_989_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_znEs2FDkmof1" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">161,325</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-family: Times New Roman, Times, Serif; 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_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zMDR8bzPZRh7" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">&#8212;</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">&#8212;</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; padding-bottom: 2.5pt">Total</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 id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331_zoXAI5KKFhja" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">183,763</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; 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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zPfp5D81USQ5" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">41,976</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; 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"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on April 15,
2023 with its insurance provider by issuing a note payable (Insurance Note 1) for the purchase of an insurance policy in the amount of
$<span id="xdx_904_eus-gaap--NotesPayable_iI_pp0p0_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zJsSkU7NTTBk">142,734</span>,
secured by that policy with an annual interest rate of <span id="xdx_903_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zUvU7GFZvz85">8.00</span>%
and payable in 11 monthly installments of principal and interest totaling $<span id="xdx_901_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230414__20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zSToJ52S8H4g">13,501</span>.
At March 31, 2024 and December 31, 2023, the balance of Insurance Note 1 was zero <span id="xdx_90D_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCschmTizgE1"><b style="display: none">0
</b></span>and $<span id="xdx_90C_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zm3Y4NTgFOQd">39,968</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 renewed it&#8217;s agreement on February
3, 2024 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_909_eus-gaap--NotesPayable_iI_pp0p0_c20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zEDKHEg9ng1d" title="Notes payable outstanding balance">24,140</span>, and payable in 12 monthly installments of $<span id="xdx_90F_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zxAB6uXXxER7" title="Monthly instalments of principal and interest">2,012</span>. At March 31, 2024 and December 31, 2023, the balance of Insurance Note 2
was $<span id="xdx_907_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z5FXhnm30CNi" title="Notes payable outstanding balance">22,438</span> and $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zGg4gR9lmH9i" title="Notes payable outstanding balance">2,008</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, 2024 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_90B_ecustom--PurchaseOfInsurancePolicy_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zYeSkrh5Rkea" title="Purchase of insurance policy">245,798</span> with a down payment paid in
the amount of $<span id="xdx_906_ecustom--DownPaymentPaid_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zHvsEqpglrha" title="Down payment paid">84,473</span> in the first quarter of 2024
and ten monthly installments of $<span id="xdx_90E_ecustom--InsuranceMonthlyInstallments_c20240101__20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zyxCq7QUHaAj" title="Monthly installments">20,169</span>.
At March 31, 2024 and December 31, 2023, the balance of Insurance Note 4 was $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zRwacmZJepG7" title="Notes payable outstanding balance">161,325
</span>and zero <b><span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zGbjBkD3TTU9" style="display: none" title="Notes payable outstanding balance">0</span></b> , respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><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_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>23
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741515604832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_806_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zwSRIxLUgwYi" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>NOTE 4 &#8211; <span id="xdx_828_z01VuhJtpoQ7">COMMITMENTS AND CONTINGENCIES</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><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"><b>&#160;</b></p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">On July 26, 2021, the
Company entered a new operating lease agreement for office and warehouse combination space of <span id="xdx_901_ecustom--AreaOfLease_usqft_c20210725__20210726_zaUZ7fpNc8mc" 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_zpW96O6vzdT7" title="Operating lease right of use asset">4,980,104</span> </span><span style="font-family: Calibri, Helvetica, Sans-Serif; font-size: 8pt">&#160;&#160;</span><span style="font-size: 10pt">at
lease commencement. Rent for the first eleven months of the term was calculated based on <span id="xdx_900_ecustom--RentableSpace_usqft_c20210725__20210726_zuKlCQyrARgk" 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_zrzFpJ5Mvwx2" title="Security deposit payment">600,000</span> on
July 26, 2021. Per the contract, in the 18th month, the security deposit was reduced by $<span id="xdx_901_eus-gaap--SecurityDeposit_iI_c20210726_zFP6HOQmzApb" title="Security deposit value">50,000</span>. The right of use asset balance at March
31, 2024, net of accumulated amortization, was $<span id="xdx_90C_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20240331_z2P6UtS69u3f" title="Accumulated amortization">4,289,807</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; text-align: justify">As of March 31, 2024, 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.3 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.</p>

<p style="font: 10pt Times New 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>

<table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zcyQ0o4U1SHd" style="font: 12pt 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_8BE_z8X8qHnsVIsd" 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; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" 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>Three Months Ended </b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31,</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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">2024</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">2023</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-size: 10pt; font-weight: bold; text-align: justify">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%; font-size: 10pt; text-align: justify"><span style="font-size: 10pt">Operating lease cost</span></td><td style="width: 1%"><span style="font-size: 10pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 10pt">$</span></td><td id="xdx_989_eus-gaap--OperatingLeaseCost_pp0p0_c20240101__20240331_zyD8oVff7Jw6" style="width: 14%; text-align: right" title="Operating lease cost"><span style="font-size: 10pt">195,410</span></td><td style="width: 1%; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="width: 1%; font-size: 10pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><span style="font-size: 10pt">$</span></td><td id="xdx_98F_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20230331_zsRsb9A04Hi5" style="width: 14%; font-size: 10pt; text-align: right" title="Operating lease cost"><span style="font-size: 10pt">195,409</span></td><td style="width: 1%; font-size: 10pt; 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="font-size: 10pt; text-align: justify"><span style="font-size: 10pt">Short-term lease cost</span></td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td id="xdx_980_eus-gaap--ShortTermLeaseCost_pp0p0_c20240101__20240331_zn7EiIaYtiih" style="font-size: 10pt; text-align: right" title="Short term lease Cost">4,296</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">$</td><td id="xdx_982_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20230331_zWgumFIyCmL3" style="font-size: 10pt; text-align: right" title="Short term lease Cost">7,104</td><td style="font-size: 10pt; 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 style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; font-weight: bold; text-align: justify">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="font-size: 10pt; text-align: justify">Operating cash outflow used for operating leases</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--PaymentsForRent_pp0p0_c20240101__20240331_zY2ZPWYGzDBi" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases">194,367</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">$</td><td id="xdx_983_eus-gaap--PaymentsForRent_pp0p0_c20230101__20230331_zPy8aXn9WBra" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases">126,416</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Weighted average discount rate</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"><span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20240331_zJseLxKczvpg" title="Weighted average discount rate">9.0</span></td><td style="font-size: 10pt; text-align: left">%</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"><span id="xdx_90C_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20230331_z7Heei0DjJu4" title="Weighted average discount rate">9.0</span></td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Weighted average remaining lease term</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"><span style="font-size: 10pt"><span id="xdx_905_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240331_zHPumG2NVjja" title="Weighted average remaining lease term">8.3</span> years</span></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"><span style="font-size: 10pt"><span id="xdx_906_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230331_zFcsPcvJ6Cd7" title="Weighted average remaining lease term">9.2</span> years</span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0"><span style="font-size: 10pt">&#160;</span><span style="font-size: 4pt">&#160;</span></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"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of March 31, 2024, future minimum lease payments
due under our operating leases are as follows:</p>

<table cellpadding="0" cellspacing="0" id="xdx_881_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zWEWmQBv14W6" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)">
  <tr style="vertical-align: bottom">
    <td style="text-align: left"><span id="xdx_8BB_zKeh7GadNQqj" style="display: none">Schedule of future minimum lease payments
due under the operating lease</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20240331_zbALabx6wXei" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#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">Amount</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: left">Calendar year:</td><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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maCz6be_z1WvO0OptZdl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: left">2024</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">584,720</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zOve80DO38Lj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2025</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">798,556</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_ztzmpHOfcCPb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2026</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">818,518</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zlJeymgR9sbj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2027</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">838,984</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_z1e9GORuN8bc" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2028</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">859,856</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_pp0p0_maCz6be_zDNphdSDtAk3" 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">Thereafter</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">3,183,571</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zElBbAjlZzdd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Total undiscounted future minimum lease payments</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">7,084,205</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zxCVrKny5Qzi" 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">Less: Impact of discounting</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">(2,158,706</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_z4bBRhN6dOfl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Total present value of operating lease obligations</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,925,599</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_ztxlwAKvUve7" 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">Current portion</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">(783,944</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zmoQrHIn4SU6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">Operating lease obligations, less current portion</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,141,555</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"></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>24
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606229072">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_80B_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zF5Nv9OZYJkc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 5 &#8211; <span id="xdx_825_zj9ujnF66IY5">STOCKHOLDERS&#8217; EQUITY</span></b>&#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">&#160;</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_90B_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zJslgx5v3ekf" title="Preferred stock, shares designated">15,000</span> of the <span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20240331_zs2cEZjWBNr1" 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_907_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zsGtXkg3XgO" 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"><b>&#160;</b></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_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z1XCkg0DR9Ef" title="Conversion of stock shares converted">1,000
</span>divided by the conversion price of $<span id="xdx_902_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zadc60kIHJk6" 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 March 31, 2024 and December 31, 2023, respectively, there are zero <span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z1rHXuDiyHn" title="Preferred stock, shares issued"><b><span id="xdx_904_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zx9PzAEEk551" style="display: none" title="Preferred stock, shares outstanding">0</span>
</b></span>and zero <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zi5CZ9p2nlGc" title="Preferred stock, shares issued"><b><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zP1KWbPDUgk2" style="display: none" title="Preferred stock, shares outstanding">0</span>
</b></span>shares of Series B Convertible Preferred Stock issued and outstanding.&#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"><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">&#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_905_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z94WXNTFPGmd" title="Preferred stock, shares designated">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 had a stated value of $<span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zVDqkPEOI337" title="Preferred stock, par value">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_902_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z7Yo3FBFJnj" title="Preferred stock voting rights">Each share of Series C Convertible Preferred Stock has 172 votes</span>
(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 $<span id="xdx_908_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zcm0fW5OgCEb" title="Preferred stock, conversion price per share">5.50</span> (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.</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 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_908_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20210225__20210226__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zjVWJ62QcVRi" title="Proceeds from convertible preferred stock">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_90D_ecustom--SeriesCPreferredConvertedToCommonStockShares_c20220101__20220131__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zqMamPLl7xmc" title="Series C preferred converted to common stock shares">454,546
</span>shares of common stock. As of March 31, 2024 and December 31, 2023, respectively, there were zero <span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zSp7p9yizq04" title="Preferred stock, shares issued"><b><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zmcDw24aQXjc" style="display: none" title="Preferred stock, shares outstanding">0</span>
</b></span>and zero <span id="xdx_90F_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zFjvzebCxV25" title="Preferred stock, shares issued"><b><span id="xdx_902_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zFpS2Out65l" style="display: none" title="Preferred stock, shares outstanding">0</span>
</b></span>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.</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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"><b><span style="text-decoration: underline">Series D Convertible
Preferred Stock</span></b></span><span style="font-size: 8pt">&#160;</span></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_908_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zGDb472YN3t1" title="Preferred stock, shares designated">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_zG9VNma93Cia" 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_90C_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zjLOE00biOGa" 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_908_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z7DhB6snxnd8" 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 are subject to the 4.99% restriction, with the exception of one who 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">&#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_903_eus-gaap--PreferredStockSharesIssued_iI_c20220930__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zptzMDF4Hi6l" 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_906_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20220929__20220930__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zJI91vhSKJEh" 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_904_eus-gaap--PreferredStockSharesIssued_iI_c20221029__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zxZxcjYwViO2" 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_908_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20221028__20221029__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zb6mWM7hbsj" 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"></p>

<p style="font: 10pt Times New 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 16, 2023, the Series D Convertible Preferred
Stock was approved for conversion to common shares during the Company&#8217;s annual shareholder meeting.&#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">On March 22, 2024 and March 28, 2024, the Company
entered into Securities Purchase Agreements (the &#8220;Purchase Agreements&#8221;) with certain existing and other accredited investors
(the &#8220;2024 Purchasers&#8221;). Pursuant to the Purchase Agreements, the 2024 Purchasers purchased an aggregate of <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zYHvKzVPBmjd" title="Shares purchased, shares">620</span> shares of
Series D Preferred Stock, at a price of $<span id="xdx_906_eus-gaap--SharePrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zuKsDhmMQTT7" title="Shares price">1,000</span> per share, and the Company received proceeds of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zffdolsSPwZ2" title="Shares purchased, value">620,000</span>. The Series D Preferred Stock
is convertible into Common Stock at $<span id="xdx_907_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zWoGZoQSnGCj" title="Conversion price">3.00</span> a share. If all of the <span id="xdx_900_eus-gaap--ConversionOfStockSharesConverted1_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zNDYb8M0aXM9" title="Conversion of stock shares converted">620</span> shares of Series D Preferred Stock were converted, the Company would
issue <span id="xdx_90A_eus-gaap--PreferredStockConvertibleSharesIssuable_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zszVbLNawMEe" title="Conversion of stock shares issued">206,667</span> shares of Common 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">As of March 31, 2024 and December 31, 2023, respectively,
there were <span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zvmKExe8eRee" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zFsGkdQNBg6" title="Preferred stock, shares outstanding">1,919</span></span> and <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z4GcQRJbjHGa" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zGEVIfsqu8E9" 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">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 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">&#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"><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: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s Board of Directors has designated <span id="xdx_90A_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zEBlOrDInfe" title="Preferred stock, shares designated">30,000</span> shares as the Series E Convertible Preferred Stock (the &#8220;Series E Convertible</span>&#160;<span style="font-size: 8pt">&#160;</span>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Preferred Stock&#8221;). Each share of the Series E Convertible
Preferred Stock has a stated value of $<span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zHItlLu9ZPm9">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_905_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zMulbgGrokkh">Each share of Series E Convertible Preferred Stock has 333 votes</span> (subject to adjustment); provided
that in no event may a holder of Series E Convertible 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 are subject to the 4.99% restriction, with the exception
of one who elected the 19.99% Beneficial Ownership Limitation</span></p>
<p style="font: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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/11pt 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_z8ONpm27GoE7" 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_zYq0hDLKeC82" title="Preferred stock, par value">1,000</span> per share, and the Company received proceeds of $<span id="xdx_90E_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230326__20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zRJaHxUj6Mok" 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/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 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/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 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_zsgWyD8y8qF2" 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_ziz234RsWmB" 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_zSyJVcvRoXc5" 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_901_eus-gaap--SharesIssued_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zsYV6LqChSPh" title="Additional shares">5,000</span> shares of Series E Convertible
Preferred Stock at $<span id="xdx_90D_eus-gaap--SharePrice_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zAow4IRtqhY" title="Share price">1,000</span> per share with the $<span id="xdx_905_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z3vcF77aKIm9" title="Price per common share">3.00</span> per common share common stock equivalent conversion price in exchange for <span id="xdx_900_ecustom--StockExchangeShares_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zcxylFk94T05" 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_909_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zXCNiFdLTJHl" 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/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 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 Convertible Preferred Stock without the consent of the Purchasers. The conversion
price of the Series E Convertible Preferred Stock currently is $3.00 per share (subject to adjustment).</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 Purchasers under the November Purchase Agreement
also were the holders of the Company&#8217;s Series F Convertible Preferred Stock issued on August 1, 2023. The purchase agreement relating
to the shares of Series F Convertible 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 Convertible Preferred Stock, which was $<span id="xdx_90A_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z4GYhCxqiJ28" 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 Convertible Preferred Stock entered into Exchange Agreements pursuant to which the holders of Series F Convertible Preferred
Stock exchanged their <span id="xdx_90E_ecustom--NumberOfSharesExchanged_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z7KPFXSiFul" title="Number of shares exchanged">5,000</span> shares of Series F Convertible Preferred Stock for an equal number of shares of Series E Convertible 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_zXY52xiSic11" title="Additional shares">7,500</span> shares of Series
E Convertible Preferred Stock and the <span id="xdx_905_ecustom--NumberOfSharesCancelled_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zLEJsw6dP122" title="Number of shares cancelled">5,000</span> shares of Series F Convertible Preferred Stock were cancelled.</p>

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

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

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">On March 22, 2024 and
March 28, 2024, the Company entered into Securities Purchase Agreements (the &#8220;Purchase Agreements&#8221;) with certain existing and
other accredited investors (the &#8220;2024 Purchasers&#8221;). Pursuant to the Purchase Agreements, the 2024 Purchasers purchased an
aggregate of</span><span style="font-size: 8pt">&#160;</span> <span style="font-size: 10pt"><span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zQjDhbxhpgHe" title="Shares purchased, shares">2,125</span> shares of Series E Convertible Preferred
Stock, at a price in each case of $<span id="xdx_905_eus-gaap--SharePrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_ztQKe4MjE5Aa" title="Shares price">1,000</span> per share, and the Company received proceeds of $<span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zBQEnzFOfbYi" title="Shares purchased, value">2,125,002</span>. The Series E Preferred Stock is convertible
into Common Stock at $<span id="xdx_901_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zhol3hmiQPbi" title="Conversion price">3.00</span> a share. If all of the <span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zneNraT4T6Y1" title="Conversion of stock shares converted">2,125</span> shares of Series E Convertible Preferred Stock were converted, the Company would
issue <span id="xdx_908_eus-gaap--PreferredStockConvertibleSharesIssuable_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zI1fm8BU0QGd" title="Conversion of stock shares issued">708,333</span> shares of Common Stock.</span></p>
<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 10pt/11pt 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">As of March 31, 2024 and December 31, 2023, respectively, there were
<span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z73UbNvc6Vu9" title="Preferred stock, shares issued"><span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z6EexNTYMQzl" title="Preferred stock, shares outstanding">13,625</span></span> and <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zwmmFUbBsrFd" title="Preferred stock, shares issued"><span id="xdx_907_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zwgmdAm68rQ5" title="Preferred stock, shares outstanding">11,500</span></span> shares of Series E Convertible Preferred Stock issued and outstanding.&#160;</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">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
E 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">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/11pt 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"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Series F 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 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_908_ecustom--SeriesFPreferredConvertiblePreferredStockShares_c20230730__20230802_z8LwwdQmBU84" 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_zaBEFAt8Ppk6" 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_90F_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_ziDLQlXjXW76" title="Preferred stock, shares designated">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_90B_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zeOgtgfvHCY2" title="Preferred stock, par value">1,000</span>) by the conversion price, which is $<span id="xdx_906_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAOxzmdYX07c" 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_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z0FnrM0cda0b" 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_900_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAe0axb0n8wd" title="Additional shares">2,500</span> shares of Series E Preferred Stock (which have a conversion price of $<span id="xdx_903_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zokLIHpe7gKg" title="Conversion price">3.00</span> per share) on November 10, 2023, the
holders exchanged their <span id="xdx_90E_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zRmJiUNvZuUg" title="Exchange of shares">5,000</span> shares of Series F Preferred Stock for <span id="xdx_90D_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zAyZTbsDrie1" 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_907_eus-gaap--CapitalUnitsOutstanding_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zIqPfchcvGm5" 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 March 31, 2024 and December 31, 2023, respectively,
there were zero <b style="display: none"><span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zlzV7J9kKrQd" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zz08ErBAYCa" title="Preferred stock, shares outstanding">0</span></span>
</b>and zero <b><span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z81ON2ZGcPgf" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zBKcMxDfQQO9" style="display: none" title="Preferred stock, shares outstanding">0</span></span></b> shares of Series F Convertible Preferred Stock issued and outstanding.&#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><span style="text-decoration: underline">Common stock issued</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>Three Months Ended March 31, 2024</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">During the three months ended March 31, 2024, the
Company issued <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z29X4QRnwAN1" title="Stock issued for services , shares">8,655</span> shares of common stock for payment of board fees to three directors in the amount of $<span id="xdx_901_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zfLfgTVtHPg9" title="Stock issued for services, value">37,500</span> for services to the
board which was expensed during the three months ended March 31, 2024. The volume-weighted average price (VWAP) per share is $<span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zocML3Aof7Wj" title="Weighted average price per share">4.33</span>.&#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"><b>Three Months Ended March 31, 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 three months ended 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_zbv9eT2MQWOi" title="Stock issued for services , shares">12,463</span> shares of common stock for payment of board fees to three directors in the amount of $<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKNlCaBLHRrd" 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 volume-weighted average price (VWAP) per share is $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1JTDD5U2FLh" title="Weighted average price per share">2.61</span>.&#160;</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"></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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">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_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20221001__20221231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zLTvBGgAUHcl" title="Plan, term">10</span> years. <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_c20240101__20240331__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zkHrMJiojG3k" 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 <span id="xdx_900_ecustom--FairMarketValuePercentage_dp_c20221001__20221231__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_z3NBfchUPojh" title="Fair market value percentage">85</span>% 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
ESPP employee contribution for the three months ended March 31, 2024 is less than 2</span><span style="font-size: 8pt">&#160;</span><span style="font-size: 10pt">%
of total cash and is not deemed material, therefore it is not presented separately on the Balance Sheet as &#8220;restricted cash&#8221;.
The maximum aggregate number of shares of the Common Stock that may be issued under the ESPP is <span id="xdx_902_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20240331__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zRy2HrcVgs68" title="Maximum aggregate number of shares of common stock">1,000,000</span> shares.</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">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) <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zj1Hui2T9p91" title="Purchase discount, percentage">15</span>% 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 <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--CallOptionMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zMEYvExeZNj8" title="Purchase discount, percentage">85</span>% of
a share of common stock and a put option on <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--PutOptionMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zUylrSyU1Xl8" title="Purchase discount, percentage">15</span>% of a share of common stock.</p>

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

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">As of the three months
ended March 31, 2024, the Company has an accrued liability of $<span id="xdx_90B_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_c20240331__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zddv8CslyU9c" title="Accrued liability">44,686</span> included in accrued expenses of
employee contributions for the ESPP which may convert to shares of common stock upon the close of the offering period open from January
1, 2024 to June 30, 2024. The liability is offset by restricted cash held by the Company in the same amount for employee contributions
which the Company expects to convert to common stock upon closure of the offering period at June 30, 2024. Additionally, the Company
recorded a stock-based expense associated with the ESPP for the three months ended March 31, 2024 of $<span id="xdx_908_eus-gaap--AllocatedShareBasedCompensationExpense_c20240101__20240331__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zEO5c1Ac1zk7" title="Stock-based compensation expense">18,116</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; text-align: justify">The Company computed the fair value of the look-back
feature call and put options for January 1, 2024 to March 31, 2024 using a Black Scholes option pricing model using the following assumptions:</p>

<table cellpadding="0" cellspacing="0" id="xdx_884_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zQ9zJhcAnHU3" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B9_zGCm7FCWQOO3" style="display: none">Schedule of black scholes option pricing model</span></td><td>&#160;</td>
    <td colspan="2">&#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>At</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</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="font-size: 10pt; text-align: justify">Grant date share price</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"><span style="font-size: 10pt">$<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoxoiL9OcXRc" title="Grant date share price">2.70</span> - $<span id="xdx_900_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztnQHnoN7WSb" title="Grant date share price">4.34</span></span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Grant date exercise price</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 8pt">&#160;</span><span style="font-size: 10pt">$<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVTWZky5geP5" title="Grant date exercise price">2.30</span> - $<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1MLninZ8CSd" title="Grant date exercise price">3.69</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Expected term</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"><span style="font-size: 10pt"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRrWkq6KNRwh" title="Expected term">0.25</span> years</span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 83%; font-size: 10pt; text-align: justify">Expected volatility</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 14%; font-size: 10pt; text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxyEjlw2xzS2" title="Expected volatility">66.8</span></td><td style="width: 1%; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Risk-free rate</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"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSFSWKzIzpW8" title="Risk-free rate">5.41</span></td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Expected dividend rate</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"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd6EK8EbF367" title="Expected dividend rate">0</span></td><td style="font-size: 10pt; 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">During the offer period, the Company records
stock-based compensation pro rata as an expense and a credit to additional paid-in capital. The following table discloses relevant
information for the ESPP at March 31, 2024 and for three months then ended.</p>

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

<table cellpadding="0" cellspacing="0" id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zbdtnbbViEX1" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt"><span id="xdx_8BB_zLbdEKBX6o74" style="display: none">Schedule of stock-based compensation</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240331_z37VU9Upe1O1" style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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">At <br/> March 31, 2024</td></tr>
  <tr id="xdx_40A_ecustom--CashPaymentReceivedFromEmployeeWithholdings_iI_zUodtH1odCQ8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 10pt">Cash payment received from employee withholdings</span></td><td style="font-size: 12pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="font-size: 12pt; text-align: right"><span style="font-size: 10pt">$</span></td>
    <td style="font-size: 12pt; text-align: right"><span style="font-size: 10pt">44,686</span></td></tr>
  <tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_iI_d0_zQbn0pTKPWt" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; text-align: left">Cash from employee withholdings used to purchase shares under ESPP</td><td style="font-size: 12pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-size: 12pt; text-align: right">&#8212;</td></tr>
  <tr id="xdx_40C_ecustom--CashAndEsppEmployeeWithholdingLiability_iI_zBp4VSPVprF5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%; text-align: left; padding-bottom: 2.5pt">Cash and ESPP employee withholding liability</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 style="border-bottom: Black 2.5pt double; width: 14%; text-align: right">44,686</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 style="font-size: 12pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240101__20240331_zBbZ385qBCol" style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>For the Three Months ended</b></span></td></tr>
  <tr style="vertical-align: bottom">
    <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>March 31,</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td></tr>
  <tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_d0_z5ywiuAQUKZe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 84%; text-align: justify"><span style="font-size: 10pt">Cash from employee withholdings used to purchase ESPP shares</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-size: 10pt">$</span></td>
    <td style="width: 14%; text-align: right">&#8212;</td></tr>
  <tr id="xdx_409_eus-gaap--EmployeeBenefitsAndShareBasedCompensation_zGVAsWKLuWgc" style="vertical-align: bottom; background-color: white">
    <td style="text-align: justify"><span style="font-size: 10pt">Stock based compensation expense</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right">18,116</td></tr>
  <tr id="xdx_403_ecustom--TotalChargesRelatedToEmployeeStockPurchasePlan_zDnz3nH9T6zg" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify"><span style="font-size: 10pt">Total increase to equity for three months ended March 31, 2024</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; text-align: right">18,116</td></tr>
  </table>

<p id="xdx_8A6_zHVBCd7pGh5l" 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">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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">Stock-based compensation
expense recognized under ASC 718-10 for the three months ended March 31, 2024 and 2023, was $<span id="xdx_905_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zc7F55KMFeNe" title="Stock-based compensation expense">141,204</span>
and $<span id="xdx_907_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zPwPocAO2Tfl" title="Stock-based compensation expense">75,128</span>, respectively, for stock options granted to employees. This expense is included in selling, general and administrative expenses
in the unaudited 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
are ultimately expected to vest during the period. At March 31, 2024, the total compensation cost for stock options not yet recognized
was $<span id="xdx_90C_ecustom--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_pp0p0_c20240331_z5Dgb9iQVlJ7" title="Total compensation cost for stock options">438,998</span>. This cost will be recognized over the remaining vesting term of the options ranging from nine months to two and one-half
years.</span></p>
<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;&#160;</b></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 <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210511__20210512__us-gaap--PlanNameAxis__custom--Plan2021Member_z9rNGkO47E15" title="Number of shares issued, shares">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. During the third quarter of 2021, the
shareholders approved the issuance of up to one million shares or share equivalents pursuant to the 2021 Plan. The Company filed an S-8
registration statement in concert with the 2021 Plan which was deemed effective on August 5, 2021. The plan covers a period of ten 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">As of March 31, 2024, and December 31, 2023, options
to purchase a total of <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNxLtzmnDHDk" title="Number of incentive stock options">1,387,775</span> (net of forfeitures discussed below) shares of common stock and <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMtAezVA6XA6" title="Number of incentive stock options">1,387,775</span> shares of common stock were
outstanding, respectively. At March 31, 2024, <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zclOPRozYEJg" title="Number of incentive stock options exercisable">766,323</span> options were exercisable. Of the total options issued, <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--PlanNameAxis__custom--Plan2016Member_zV0hoTwlaOy" title="Number of incentive stock options">269,658</span> and <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--Plan2016Member_z2b8Ppkrwjzg" title="Number of incentive stock options">269,658</span> options
were outstanding under the 2016 Equity Incentive Plan, <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240331__us-gaap--PlanNameAxis__custom--Plan2021Member_zTl999F3GKVh" title="Number of incentive stock options">788,117</span> and <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--Plan2021Member_zdZOIMinHuYf" title="Number of incentive stock options">788,117</span> were outstanding under the 2021 Plan and a further <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--PlanNameAxis__custom--NonPlanMember_z9gxAmp8Zxyf" title="Number of incentive stock options">330,000</span>
and <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--NonPlanMember_zEZxgvOCytH3" title="Number of incentive stock options">330,000</span> non-plan options to purchase common stock were outstanding as of March 31, 2024 and December 31, 2023, respectively. The non-plan
options were granted to four executives as hiring incentives, including the Company&#8217;s CEO in the fourth quarter of 2020.</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>

<table cellpadding="0" cellspacing="0" id="xdx_885_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z2NSvuLDPiRl" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)">
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left; vertical-align: bottom"><span id="xdx_8BA_zPlw08DxcvR8" style="display: none">Schedule of stock option issuance of shares</span></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><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td>&#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 colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td>&#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 colspan="2" style="text-align: left; vertical-align: bottom">&#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">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 colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td style="padding-bottom: 1pt">&#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">Options</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="vertical-align: bottom; width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 46%; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2022</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1KmbA2wUXUa" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance">926,266</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zP6hBQUlmwJ5" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance">5.74</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right"><span id="xdx_902_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zx9hF3LnqXec" title="Weighted average remaining contractual term (Years)">3.3</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zUB4Gc66RBki" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Granted</span></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 id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zzPlZ0tw8Wvc" style="font-size: 10pt; text-align: right" title="Number of options, Granted">463,117</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">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIiUAoi3QFZj" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted">4.22</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"><span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zEGJpUk39iE9" title="Weighted average remaining contractual term (Years), Granted">4.35</span></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">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; 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; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Forfeited</span></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOBL9mgOpGjc" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Forfeited">(1,608</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zuWBQc1QAGWh" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Forfeited">14.00</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2023</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zBN3UEPdvYTi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">1,387,775</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZFyKsUZ8dMg" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance">5.23</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zhI02mTDoZLf" title="Weighted average remaining contractual term (Years)">3.0</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd2V8Ax2WKYc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercisable at December 31, 2023</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zS1ErKCT33U8" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable">581,324</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpWGuNrfZhCk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">5.38</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfyd6LZL3mF3" title="Weighted average remaining contractual term (Years), Exercisable">1.8</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zycCOal3BqY5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2023</span></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 id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYB5j0wWyI61" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance">1,387,775</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">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAWOX4sBG8o3" style="font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance">5.23</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"><span id="xdx_908_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zHgpkZgr3zT6" title="Weighted average remaining contractual term (Years)">3.0</span></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">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zFMifSaFxdTh" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Granted</span></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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKBomTOhmQL4" style="font-size: 10pt; text-align: right" title="Number of options, Granted">&#8212;</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">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNBt7aAxbpE1" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted">&#8212;</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">&#8212;</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">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; 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; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercised/Forfeited/Expired</span></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTFilSTLimt7" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Exercised/Forfeited/Expired">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJWI1DkBjFAb" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercised/forfeited/expired">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at March 31, 2024</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxT2qOkQl6ha" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">1,387,775</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKztujvyNpVi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance">5.23</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztq4pXpZVvZh" title="Weighted average remaining contractual term (Years)">2.8</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgwFL3l5z6r5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercisable at March 31, 2024</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeyd6978FJbb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable">766,323</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXWyvXRDJ98f" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">5.55</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztcSc9wkPo92" title="Weighted average remaining contractual term (Years), Exercisable">1.8</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKuDjjodo7qk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">&#160;<b><span style="text-decoration: underline">Warrants</span></b></p>

<table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zscM8BVqHDCg" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BF_zQdhWT3Nh4Zg" style="display: none">Schedule of warrants outstanding</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>&#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%; font-size: 10pt">Outstanding at December 31, 2022</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgsxGyN2UUU5" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance">80,091</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbrF3FJ67R27" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance">8.63</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right"><span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zasvs8F7l7p7" title="Weighted average remaining contractual term (Years)">0.8</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zFtzsfEJee1j" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZYcBuKR5Dhh" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised">(102,947</td><td style="font-size: 10pt; text-align: left">)</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td id="xdx_98E_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zsvfoIz26L5k" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Warrants issued</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zI9obmMeR794" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zM0ZiX5gva9h" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGHpay5CkLna" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zTofU3GzrjMa" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1k4WAnm8ege" title="Weighted average remaining contractual term (Years)">0.7</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWqpyFccTn47" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmuefweR5rf1" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJjvrRBeWzwc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zY8xiAPkb3bf" title="Weighted average remaining contractual term (Years), Exercisable">0.7</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWQCv3LFCD95" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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 style="font-size: 10pt">Outstanding at December 31, 2023</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zvjv5Pdpwrfg" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance">44,644</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">$</td><td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJHVXSreUDB6" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance">7.70</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"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8Q36rLJ4IW5" title="Weighted average remaining contractual term (Years)">0.7</span></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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z57J6Po3gSt1" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zROfOS6uA1z3" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td id="xdx_98F_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z3AxOYWbrv4d" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Warrants issued</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zNqZ5awzyZf2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zfM1NRJyMQmj" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Outstanding at March 31, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zjZ1vgCxFYlb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zifklVr0PSN5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zwSfftxRsYtd" title="Weighted average remaining contractual term (Years)">0.5</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuje6OQ157Ra" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Exercisable at March 31, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJ0w0RboN56" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z5dEkmOr9R64" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zDuCGXvcYmA9" title="Weighted average remaining contractual term (Years), Exercisable">0.5</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk2b74EfdENb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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: 4pt 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_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>25
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741515608464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE AND CONTRACT ACCOUNTING<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">REVENUE AND CONTRACT ACCOUNTING</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--RevenueFromContractWithCustomerTextBlock_z4AmkX1afXx1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 6 - <span id="xdx_825_zOqdpbWozWA3">REVENUE AND CONTRACT ACCOUNTING</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">Revenue Recognition and Contract Accounting</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">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">&#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 cost incurred to total estimated costs.</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">At March 31, 2024 and December 31, 2023, contract
assets on uncompleted contracts consisted of the following:</p>

<table cellpadding="0" cellspacing="0" id="xdx_883_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zFaJKAcwuaMh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B1_z4PqynwAYAwe" style="display: none">Schedule of contract assets on
uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20240331_zvdmp9ztZgTk" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_z255Gwkiugb9" 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>March 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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>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="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_400_ecustom--CumulativeRevenueRecognized_iI_pp0p0_maCWCANzFM7_zCK4nX2zzQeg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; font-size: 10pt; text-align: justify">Cumulative revenues recognized</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">9,090,355</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">8,820,256</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zbnX8ctwvj6l" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Less: Billings or cash received</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(8,178,309</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(8,178,309</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zYdx2he8tHh2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt">Contract assets</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">912,046</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">641,947</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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"><b><span style="text-decoration: underline">Contract Liabilities</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">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, which recognizes revenues based on the ratio of the cost 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">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">At March 31, 2024 and December 31, 2023, contract
liabilities on uncompleted contracts and contract liabilities on services and consulting consisted of the following:</p>

<table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zAnkaKICg8H5" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B1_zMhmUjDy4549" style="display: none">Schedule of contract liabilities
on uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49D_20240331_zDFirvnDEwWd" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_490_20231231_z5TmcVQQQru5" 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>March 31, </b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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>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="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_maCLTSzZSN_znoUEvp2VIK9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; font-size: 10pt; text-align: justify">Billings and/or cash receipts on uncompleted contracts</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">1,264,658</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">1,264,658</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--CumulativeRevenuesRecognized_iNI_pp0p0_di_msCLTSzZSN_z102RUas0ln3" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Less: Cumulative revenues recognized</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(199,976</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(199,976</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_mtCLTSzZSN_maCWCLz9Ae_zdue4UgPKeml" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Contract liabilities, technology systems</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">1,064,682</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">1,064,682</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ContractLiabilitiesServicesAndConsulting_iI_maCWCLz9Ae_zkYJ398sA3ed" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Contract liabilities, services and consulting</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">628,258</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">601,561</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ContractWithCustomerLiability_iTI_mtCWCLz9Ae_z3deCY3JPcxk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt">Total contract liabilities</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">1,692,940</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">1,666,243</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">Contract liabilities at December 31, 2023 were $<span id="xdx_90A_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20231231_zBUWXm48d6tl" title="Contract liabilities">1,666,243</span>;
of which zero <span id="xdx_90B_ecustom--ContractLiabilitiesForTechnologiesSystems_iI_c20231231_zLlsthqmnMkk" title="Contract liabilities for technology systems"><b style="display: none">0</b></span> for technology
systems and $<span id="xdx_903_ecustom--ServicesAndConsultingRecognized_iI_pp0p0_c20240331_z1rGFs5flM5e" title="Services and consulting recognized">292,947</span> in services and consulting have been recognized as of March 31, 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">The Company expects to recognize all contract liabilities
within 12 months from the respective consolidated balance sheet date.</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"><b>Disaggregation of Revenue </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">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"><b>&#160;</b></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"><b>&#160;</b></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-size: 10pt">1.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">We have four distinct revenue sources:</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">a.</span></td>
    <td><span style="font-size: 10pt">Technology Systems (Turnkey, engineered projects);</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">b.</span></td>
    <td><span style="font-size: 10pt">AI Technology (Associated maintenance and support services);</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">c.</span></td>
    <td><span style="font-size: 10pt">Technical Support (Licensing and professional services related to auditing of data center assets); and</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">d.</span></td>
    <td><span style="font-size: 10pt">Consulting Services (Predetermined algorithms to provide important operating information to the users of our systems).</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-size: 10pt">2.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">We currently operate in North America including the USA, Mexico and Canada.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-size: 10pt">3.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Our customers include rail transportation, commercial, government, banking and IT suppliers.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-size: 10pt">4.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Our services &amp; maintenance contracts are fixed price and fall into two duration types:</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">a.</span></td>
    <td><span style="font-size: 10pt">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</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 72px">&#160;</td>
    <td style="width: 24px"><span style="font-size: 10pt">b.</span></td>
    <td><span style="font-size: 10pt">Maintenance and support contracts ranging from one to five years in length.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-indent: 2.25pt">&#160;</p>











<p style="font: 4pt Times New Roman, Times, Serif; margin: 0"></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"><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 Three Months Ended March 31, 2024</span></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"><b></b></p>

<table cellpadding="0" cellspacing="0" id="xdx_891_eus-gaap--DisaggregationOfRevenueTableTextBlock_zOd7f1h0lyKd" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B5_zgD7Vai63pUl" style="display: none">Schedule of disaggregation of revenue</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>
    <td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Segments</b></span></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>Rail</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>Commercial</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>Government</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>Artificial Intelligence</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>Total</b></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Primary Geographical Markets</b></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>
    <td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td>
    <td>&#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>
    <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: #CCEEFF">
    <td style="width: 35%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">North America</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zgFFcpCg6vm" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,067,449</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjVlQHHovzQj" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zJN1JB6i9qj1" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXw7r9SrENx5" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_z97uSTN4WmI" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,070,680</span></td>
    <td style="width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <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: bottom; background-color: #CCEEFF">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Major Goods and Service Lines</b></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <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: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Turnkey Projects</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zMN39a9n3kdh" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zPTppSbyUsK5" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zBED3tlOOfE9" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zEc725hEygTb" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zl8SrvSPLpja" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</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">Maintenance and Support</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zOjXvMXIbYp1" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">601,379</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zrjcyLHmHlHc" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zyKGtzj5mCm" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zDiC9FiLXt69" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zNbc48XirTPj" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">604,610</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">Algorithms</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zx6gT6X7v8ng" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">195,971</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQxtucFbndE2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKqXL1ojM0Te" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuE6RNrVlKz2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zIK2bzYGTkk7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">195,971</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zfhFEsESE40d" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,067,449</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQSx2I9w9mee" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkTHmDFagmja" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td style="border-bottom: black 2.25pt double">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_ziIKfaDmYk28" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,070,680</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <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: bottom; background-color: white">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Timing of Revenue Recognition</b></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <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: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goods transferred over time</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zAoLyGSR71Bf" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zKPhWMbH75lj" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z4O1KYVSFUZ8" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z0jclwuQEFwg" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zblf0eYko9ek" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</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">Services transferred over time</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zSB0cK14vUq7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">797,350</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zs0KWFZ1DnGa" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zbC1BqIqv9mc" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zxVV9dOtWgfj" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><span style="-sec-ix-hidden: xdx2ixbrl1422">&#8212;</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zsClrDQKyg9l" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">800,581</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zykhmdc05tya" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,067,449</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zbC1V9S0AWFj" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zAr2mzDnlW8k" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zcovcprtfC83" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><span style="-sec-ix-hidden: xdx2ixbrl1432">&#8212;</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_zWCwyoBFJEc3" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,070,680</span></td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b>&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Three Months Ended March 31, 2023</span></b></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <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><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="border-bottom: Black 1pt solid; font-size: 10pt; 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 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: 10pt; 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: 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></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><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: 35%; font-size: 10pt; 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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zoXrJnzrGiPk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">2,376,449</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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z4MeuOdl0sg1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">28,831</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKIUXYerWKd1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">11,353</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXV8Md2VG4Jk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">227,655</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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlHTc95EwRvi" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">2,644,288</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: 10pt; 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>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; 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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zEHG9QLtqLub" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zdMkyRjLywHf" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zDJhHvJmNpkj" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zF9kb1xaB0L" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zN3TmrGkQHa4" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Maintenance and Support</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zsu8HPSNxuS1" style="font-size: 9pt; text-align: right" title="Revenue">548,685</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ43WoXhvS5d" style="font-size: 9pt; text-align: right" title="Revenue">28,831</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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zfT6Nz5pFGLg" style="font-size: 9pt; text-align: right" title="Revenue">11,353</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z00nQ4Yzw4Lb" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zYojEBhe7BD4" style="font-size: 9pt; text-align: right" title="Revenue">588,869</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: 10pt; 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhVyCkt1YWz5" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zOpAb0jXPzb" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_ztUdU9scSdf9" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z3NLzFYqteua" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">227,655</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_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zarZq4SEOyg2" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">227,655</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z5RQM8menEU1" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,376,449</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwHSMXJ0Pyod" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">28,831</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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zk49PIVTYkid" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">11,353</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z8aT8UmQF0f7" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">227,655</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331_zs4SLK6W9J04" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,644,288</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="border-bottom: Black 1pt solid; font-size: 10pt; 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: 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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zz9jIF24V0aj" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zzmbGs5sHTEg" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_pp0p0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z38ESOTBvep" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zP8ZmLcxiWs6" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zV8mRpQ8Qjef" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</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: 10pt; 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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZpTNzm8rQv1" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">548,685</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_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zoAv5sP5blol" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">28,831</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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuOzgpHXqPpk" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">11,353</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zB9fl5QxqSOd" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">227,655</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_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuFYERutrcw8" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">816,524</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zXYIZufwAEmk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,376,449</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zpozpVziH4Ti" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">28,831</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zxiXWxQQP947" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">11,353</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zVjElz1sUgrd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">227,655</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_c20230101__20230331_z6fGVnyoLuG9" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,644,288</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  </table>

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









<p style="font: 4pt 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>26
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606964368">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_809_eus-gaap--DefinedContributionPlanTextBlock_z84l6xa9PFoi" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 7 &#8211; <span id="xdx_82E_z02Kb5QSDPOc">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
three months ended March 31, 2024, the Company matched 100% of the first 4% of eligible employee compensation that was contributed
to the 401(k) Plan. For the three months ended March 31, 2024, the Company recognized expense for matching cash contributions to the 401(k)
Plan totaling $<span id="xdx_902_eus-gaap--DefinedBenefitPlanServiceCost_pp0p0_c20240101__20240331_zFjLTjBaRPD3" title="Cash contributions">55,099</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>27
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518091952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY TRANSACTIONS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_808_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z5Jtj62U3sw" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 8 &#8211; <span id="xdx_820_zHfKsxtK6qkf">RELATED PARTY TRANSACTIONS</span></b></p>

<p style="font: 11pt 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">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"><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_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>28
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741515489440">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_zk4JuWZa71j2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 9 &#8211; <span id="xdx_820_zDOT57vAhoUl">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 and now current Chief Financial Officer is a director. Said 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_908_ecustom--PrincipalAmount_pp0p0_c20240101__20240331_z4uOjU5YCly1" title="Principal amount">165,000</span> with a <span id="xdx_906_ecustom--OriginalIssueDiscount_dp_c20240101__20240331_zHI7LuRSW6Je" 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_90C_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20240331_zYuXpxR8qLV8" title="Conversion price">0.003</span>
or <span id="xdx_901_eus-gaap--CommonStockDividendsShares_c20240101__20240331_zk75FYt03RNk" 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_902_ecustom--PurchaseOfCommonStockWarrants_c20240101__20240331_zFZ5PEBI21t6" 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_c20240101__20240331_z9cf3HkcFwk5" 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_c20240101__20240331_zPXSbL6B6rT7" title="Sale of asset">150,000</span>, which is included in other income 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">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">The note receivable was recorded as follows on March
31, 2024:</p>

<table cellpadding="0" cellspacing="0" id="xdx_884_ecustom--ScheduleOfNoteReceivableTableTextBlock_z02hNZnbWt0e" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt"><span id="xdx_8B2_zK1CoC8ZFxF4" style="display: none">Schedule of note receivable</span></td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240331_zTtV1DP8klKf" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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>March 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_zDygfZ13bA0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 83%; text-align: justify">Convertible note receivable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">165,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zWBvX2puWvs4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Unamortized discount</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">(9,375</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zdbwpySGePwb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Convertible note 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">155,625</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>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 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_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>29
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518090288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_z4CzmN149SNd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 10 &#8211; <span id="xdx_827_zo2dXug8NHq6">SUBSEQUENT EVENTS</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 April 3, 2024, the Company received aggregate proceeds
of $<span id="xdx_908_eus-gaap--SaleOfStockConsiderationReceivedOnTransaction_c20240402__20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z5P8E5PotLx5" title="Aggregate proceeds">250,000</span> related to the sale of <span id="xdx_90F_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240402__20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zE2jUOehqov5" title="Sale of stock, shares">250</span> shares of Series D Preferred Stock. The Series D Preferred Stock is convertible into Common Stock
at a conversion price of $<span id="xdx_90A_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zH4XU4YRfDyi" title="Conversion price">3.00</span> per share.</p>

<p style="font: 10pt Times New 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 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 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;)).</p>

<p style="font: 10pt Times New 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 23, 2024, the Company changed the name of
its dormant subsidiary &#8220;Duos Technologies International, Inc.&#8221; to &#8220;Duos Edge AI, Inc.&#8221;</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 April 23, 2024, a holder of our Series D Preferred
Stock converted <span id="xdx_902_eus-gaap--ConversionOfStockSharesConverted1_c20240422__20240423__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zCr0r961G7D" title="Conversion of shares">225</span> shares of Series D Preferred Stock into <span id="xdx_90B_eus-gaap--ConversionOfStockSharesConverted1_c20240422__20240423__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zJ0CPepFDFSh" title="Conversion of shares">75,000</span> shares of Common 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 April 30, 2024, two holders of our Series D
Preferred Stock converted an aggregate of <span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240429__20240430__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zWdQuyS4cvmg" title="Conversion of shares">350</span>
shares of Series D Preferred Stock into <span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240429__20240430__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zLH9JFUzK4C2" title="Conversion of shares">116,668</span>
shares of Common Stock.</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">On May 7, 2024, a holder of our Series D Preferred Stock converted
<span id="xdx_907_eus-gaap--ConversionOfStockSharesConverted1_c20240506__20240507__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zolSaWfPGOI2" title="Conversion of shares">75</span> shares of Series D Preferred Stock into <span id="xdx_901_eus-gaap--ConversionOfStockSharesConverted1_c20240506__20240507__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_z3T8iZWOA3Ij" title="Conversion of shares">25,000</span> shares of Common Stock.</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>30
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518582320">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_84A_ecustom--NatureOfOperationsPolicyTextBlock_zaHssE5rWvt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_862_zMtafsqjvm74">Nature of Operations</span></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">Duos Technologies Group, Inc. (the &#8220;Company&#8221;),
through its operating subsidiary, Duos Technologies, Inc. (&#8220;Duos&#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, which can assist law enforcement agencies. Each rail car is scanned
with machine vision cameras and other sensors from the top, sides, and bottom, where images are produced within seconds of the railcar
passing. These images can then 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, Information Technology (&#8220;IT&#8221;), and Artificial Intelligence development
and engineering. The Company maintains significant intellectual property and continues to be awarded additional patents for both the technology
and methodologies used. The Company also has a proprietary portfolio of approximately 50 Artificial Intelligence &#8220;Use Cases&#8221;
that automatically flag defects. The Company has deployed this system with several Class 1 railroads and one major passenger carrier and
anticipates an increased demand in the future from railcar operators, owners, shippers, transit railroads as well as 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 (&#8220;ALIS&#8221;) 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 and significantly improve operations and security and, importantly, dramatically improve
throughput on each lane on which the technology is deployed. The Company is not currently actively pursuing further customers for ALIS
but will continue to analyze the potential market and expects to deploy an upgraded Truck Inspection Portal (TIP) which uses the same
technology and lessons learned from the ALIS and RIP systems at some point in 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">The Company&#8217;s strategy for the rail industry
is to expand beyond our existing customer base in the Class 1 and major passenger transit market and we expect to add additional users
in the short line and regional transit markets in North America. In addition, we plan to expand our subscription offering to car owners
and shippers and expand operations to meet the demand from international customers. The Company is 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.
The Company is also further investigating market opportunities for subsets of its technology including deployment and management of Edge
Data Centers, a fundamental component of the distributed, rapid response data analysis used in the RIP.</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 );">Basis of Presentation</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBq6Xygueh4e" 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"><span id="xdx_86B_zNpIXWWgv5q7">Basis of Presentation</span></span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The accompanying unaudited consolidated financial
statements have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) for interim financial
information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information
and footnotes required by U.S. GAAP for complete financial statements. In the opinion of management, all adjustments (all of which are
of a normal recurring nature) considered necessary for a fair presentation have been included. Operating results for the three months
ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any
other future period. These unaudited consolidated financial statements and the unaudited condensed notes thereto should be read in conjunction
with the audited consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10-K for the
year ended December 31, 2023 filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;) on April 1, 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#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_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_z8YlzzcX3JD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_860_zMLSMwuRZd36">Principles of Consolidation</span></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">The unaudited consolidated financial statements include
Duos Technologies Group, Inc. and its wholly owned subsidiary, Duos Technologies, Inc. All inter-company transactions and balances are
eliminated in consolidation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><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_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--UseOfEstimates_zp8C9K2wKvD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86B_zbmzQFXHlCU2">Use of Estimates</span></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">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 unaudited 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"><b>&#160;&#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_ConcentrationRiskCreditRisk', window );">Concentrations</a></td>
<td class="text"><p id="xdx_840_eus-gaap--ConcentrationRiskCreditRisk_z8w3gMHs5v64" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_867_zx4oNEjQuIph">Concentrations</span> </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"><b>Cash Concentrations</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">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 March 31, 2024,
the balance in one financial institution exceeded federally insured limits by approximately $<span id="xdx_904_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20240331_zZuka0gZkPUd" title="Federally insured limits">2,485,140</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"><b>Significant Customers and Concentration of Credit Risk</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; background-color: white">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 three months ended March 31, 2024, three customers
accounted for <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zwNxqCQQI0E9" title="Concentration risk, percentage">31</span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zzdIHAiJmEug" title="Concentration risk, percentage">30</span>% and <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWFP0B6HzCKf" title="Concentration risk, percentage">26</span>% of revenues. For the three months ended March 31, 2023, two customers accounted for <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zk5LczjHVVne" title="Concentration risk, percentage">70</span>%, and <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2mkSBl2Edkg" title="Concentration risk, percentage">20</span>% of revenues.
In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a Railcar 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 may be 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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At March 31, 2024, three customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zIvP7Akv2yC8" title="Concentration risk, percentage">49</span>%,
<span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zSiZlxvAriUc" title="Concentration risk, percentage">38</span>%, and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zT310z1zM5el" title="Concentration risk, percentage">13</span>% of accounts receivable. At December 31, 2023, two customers accounted for <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2vh1ar0IRKd" title="Concentration risk, percentage">83</span>%, and <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zJcXibCCQ1K9" title="Concentration risk, percentage">11</span>% of accounts receivable. Much of the
credit risk is mitigated since all 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;<b>&#160;</b></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>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">For the three months ended March 31, 2024, approximately
<span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zcYYnwyzwspe" title="Concentration risk, percentage">61</span>% of revenue was generated from three customers outside of the United States. For the three months ended March 31, 2023, approximately
<span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z8rRVdEWDWE8" title="Concentration risk, percentage">25</span>% of revenue was generated from three customers outside 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"><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>

<span></span>
</td>
</tr>
<tr class="re">
<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_842_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_zP9a1l59MW0g" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86E_zqghakBErRl4">Fair Value of Financial Instruments and Fair Value Measurements</span></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">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">&#160;</p>

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

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

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 10%"><span style="font-size: 10pt">Level 1:</span></td>
    <td style="width: 90%"><span style="font-size: 10pt">Observable inputs such as quoted market prices in active markets for identical assets or liabilities.&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Level 2:</span></td>
    <td><span style="font-size: 10pt">Observable market-based inputs or unobservable inputs that are corroborated by market data.&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 10pt">Level 3:</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">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.</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: 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="ro">
<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_840_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zftffehktW2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_860_z4eCWCiv3OMk">Accounts Receivable</span></span></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">On January 1, 2023, the Company adopted ASC 326, &#8220;Financial
Instruments - Credit Losses&#8221;. In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make the 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 credit loss 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 the
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">&#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_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text"><p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zt6AsdueeOn3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_866_z0PHz2YJYgNb">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: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#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_845_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zhNEKBxPkZPl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_z3aD8M66lsu4">Software Development 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">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 capitalized 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" 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_844_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_z8MiDFu5EiCf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zghcKTThEE84">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;Share-Based Payment,&#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">&#160;</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.&#160;</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_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zjZn7DKLAga2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86B_znzOJceFgwT1">Revenue Recognition</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
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: 12pt 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-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>
<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: 12pt 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-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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-size: 10pt">3.</span></td>
    <td style="text-align: justify"><span style="font-size: 10pt">Determine the transaction price;</span></td></tr>
  </table>










<p style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 12pt 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-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; 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:</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(1) Technology 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">(2) AI Technologies</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(4) Consulting 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"><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: 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>

<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 three sources: (1) Professional Services (consulting and auditing); (2) Customer service training
and (3) Maintenance/support.</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(2) 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; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(3) Maintenance/support is an optional product sold
to our software license customers under one-year or longer contracts. Accordingly, maintenance payments received upfront are deferred
and recognized over the contract 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_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock', window );">Multiple Performance Obligations and Allocation of Transaction Price</a></td>
<td class="text"><p id="xdx_840_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zqRSEfEOdDfj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span id="xdx_868_zGvGX6w68Qna">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 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_841_eus-gaap--LesseeLeasesPolicyTextBlock_z9yzlht1VdH1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_865_zH8Mba3nBky">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 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 Times New 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 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 as an
expense when 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 Times New 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 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 Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt 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.</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_EarningsPerSharePolicyTextBlock', window );">Earnings (Loss) Per Share</a></td>
<td class="text"><p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_z8451qNfuF3f" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_zL9q36UAiN76">Earnings (Loss) Per Share</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">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. &#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">At March 31, 2024, there were (i) an aggregate of
<span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zsQwJ1dwA7se" 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_909_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfuFCW0JFxQa" title="Number of incentive stock options">1,387,775</span> shares
of common stock, (iii) <span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zTRSqfRkw4i9" title="Common shares issuable upon conversion">639,667</span> common shares issuable upon conversion of Series D Convertible Preferred Stock, and (iv) <span id="xdx_90A_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znTBa65t7nYj" title="Common shares issuable upon conversion">4,541,667</span> common
shares issuable upon conversion of Series E 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 March 31, 2023, there were (i) an aggregate of
<span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20230331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zl5nAPnk7nrf" title="Outstanding warrants">80,091</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_c20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoXKvKGkcYUk" title="Number of incentive stock options">924,658</span> shares
of common stock, (iii) <span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zcvmaF5XFkBh" title="Common shares issuable upon conversion">433,000</span> common shares issuable upon conversion of Series D Convertible Preferred Stock and (iv) <span id="xdx_904_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zll8wReGxkr9" title="Common shares issuable upon conversion">1,333,334</span> common
shares issuable upon conversion of Series E Convertible Preferred Stock, all of which were excluded from the computation of diluted 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"><b>&#160;</b></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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zYDNGBOQoPB8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_z6UYlmJRcE4">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"></p>

<p style="font: 10pt Times New 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 November 2023, the FASB issued ASU 2023-07 Segment
Reporting (Topic 280): Improvements to Reportable Segment Disclosures. 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 has evaluated the disclosure impact of ASU 2023-07; and determined 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; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In December 2023, the FASB issued ASU No. 2023-09
Income Taxes (Topic 740): Improvements to Income Tax Disclosures. 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.</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">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_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_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_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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-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_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_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_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>31
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518390736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_88D_eus-gaap--ScheduleOfDebtTableTextBlock_zzxdPKLcHZph" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - DEBT (Details - Notes payable financing agreements)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BD_zenxFUUFUUUh" 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>&#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">March 31, 2024</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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31, 2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">Notes Payable</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">Principal</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">Interest</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">Principal</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">Interest</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">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#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: 48%; text-align: left">Third Party - Insurance Note 1</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_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zhqIWrCPbcVb" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal">&#8212;</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: 10%; text-align: right">&#8212;</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 id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z248whUIcdf7" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal">39,968</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: 10%; text-align: right"><span id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCKntMUe2VBk" title="Notes payable, interest">8.00</span></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">Third Party - Insurance Note 2</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_98F_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z4VOFclNUZyj" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">22,438</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">&#8212;</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--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zQG4KQiHm34a" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">2,008</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">&#8212;</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-align: left; padding-bottom: 1pt">Third Party - Insurance Note 3</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_989_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_znEs2FDkmof1" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">161,325</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-family: Times New Roman, Times, Serif; 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_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zMDR8bzPZRh7" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">&#8212;</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">&#8212;</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; padding-bottom: 2.5pt">Total</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 id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331_zoXAI5KKFhja" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">183,763</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; 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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zPfp5D81USQ5" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal">41,976</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right">&#8212;</td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; 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>32
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518747632">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_88B_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zcyQ0o4U1SHd" style="font: 12pt 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_8BE_z8X8qHnsVIsd" 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; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" 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>Three Months Ended </b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31,</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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">2024</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">2023</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-size: 10pt; font-weight: bold; text-align: justify">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%; font-size: 10pt; text-align: justify"><span style="font-size: 10pt">Operating lease cost</span></td><td style="width: 1%"><span style="font-size: 10pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 10pt">$</span></td><td id="xdx_989_eus-gaap--OperatingLeaseCost_pp0p0_c20240101__20240331_zyD8oVff7Jw6" style="width: 14%; text-align: right" title="Operating lease cost"><span style="font-size: 10pt">195,410</span></td><td style="width: 1%; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="width: 1%; font-size: 10pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><span style="font-size: 10pt">$</span></td><td id="xdx_98F_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20230331_zsRsb9A04Hi5" style="width: 14%; font-size: 10pt; text-align: right" title="Operating lease cost"><span style="font-size: 10pt">195,409</span></td><td style="width: 1%; font-size: 10pt; 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="font-size: 10pt; text-align: justify"><span style="font-size: 10pt">Short-term lease cost</span></td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td id="xdx_980_eus-gaap--ShortTermLeaseCost_pp0p0_c20240101__20240331_zn7EiIaYtiih" style="font-size: 10pt; text-align: right" title="Short term lease Cost">4,296</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">$</td><td id="xdx_982_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20230331_zWgumFIyCmL3" style="font-size: 10pt; text-align: right" title="Short term lease Cost">7,104</td><td style="font-size: 10pt; 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 style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; font-weight: bold; text-align: justify">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="font-size: 10pt; text-align: justify">Operating cash outflow used for operating leases</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--PaymentsForRent_pp0p0_c20240101__20240331_zY2ZPWYGzDBi" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases">194,367</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">$</td><td id="xdx_983_eus-gaap--PaymentsForRent_pp0p0_c20230101__20230331_zPy8aXn9WBra" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases">126,416</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Weighted average discount rate</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"><span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20240331_zJseLxKczvpg" title="Weighted average discount rate">9.0</span></td><td style="font-size: 10pt; text-align: left">%</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"><span id="xdx_90C_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20230331_z7Heei0DjJu4" title="Weighted average discount rate">9.0</span></td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Weighted average remaining lease term</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"><span style="font-size: 10pt"><span id="xdx_905_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240331_zHPumG2NVjja" title="Weighted average remaining lease term">8.3</span> years</span></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"><span style="font-size: 10pt"><span id="xdx_906_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230331_zFcsPcvJ6Cd7" title="Weighted average remaining lease term">9.2</span> years</span></td><td style="font-size: 10pt; 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_881_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zWEWmQBv14W6" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)">
  <tr style="vertical-align: bottom">
    <td style="text-align: left"><span id="xdx_8BB_zKeh7GadNQqj" style="display: none">Schedule of future minimum lease payments
due under the operating lease</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20240331_zbALabx6wXei" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: left">&#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">Amount</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: left">Calendar year:</td><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--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maCz6be_z1WvO0OptZdl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: left">2024</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">584,720</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zOve80DO38Lj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2025</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">798,556</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_ztzmpHOfcCPb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2026</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">818,518</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zlJeymgR9sbj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2027</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">838,984</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_z1e9GORuN8bc" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">2028</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">859,856</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_pp0p0_maCz6be_zDNphdSDtAk3" 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">Thereafter</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">3,183,571</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zElBbAjlZzdd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Total undiscounted future minimum lease payments</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">7,084,205</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zxCVrKny5Qzi" 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">Less: Impact of discounting</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">(2,158,706</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_z4bBRhN6dOfl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Total present value of operating lease obligations</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,925,599</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_ztxlwAKvUve7" 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">Current portion</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">(783,944</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zmoQrHIn4SU6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">Operating lease obligations, less current portion</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,141,555</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_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>33
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518950256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS&#8217; EQUITY (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock', window );">Schedule of black scholes option pricing model</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_884_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zQ9zJhcAnHU3" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B9_zGCm7FCWQOO3" style="display: none">Schedule of black scholes option pricing model</span></td><td>&#160;</td>
    <td colspan="2">&#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>At</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>March 31, 2024</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="font-size: 10pt; text-align: justify">Grant date share price</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"><span style="font-size: 10pt">$<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoxoiL9OcXRc" title="Grant date share price">2.70</span> - $<span id="xdx_900_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztnQHnoN7WSb" title="Grant date share price">4.34</span></span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Grant date exercise price</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-size: 8pt">&#160;</span><span style="font-size: 10pt">$<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVTWZky5geP5" title="Grant date exercise price">2.30</span> - $<span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1MLninZ8CSd" title="Grant date exercise price">3.69</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Expected term</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"><span style="font-size: 10pt"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRrWkq6KNRwh" title="Expected term">0.25</span> years</span></td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 83%; font-size: 10pt; text-align: justify">Expected volatility</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 14%; font-size: 10pt; text-align: right"><span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxyEjlw2xzS2" title="Expected volatility">66.8</span></td><td style="width: 1%; font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Risk-free rate</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"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSFSWKzIzpW8" title="Risk-free rate">5.41</span></td><td style="font-size: 10pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify">Expected dividend rate</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"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd6EK8EbF367" title="Expected dividend rate">0</span></td><td style="font-size: 10pt; text-align: left">%</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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock', window );">Schedule of stock-based compensation</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zbdtnbbViEX1" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt"><span id="xdx_8BB_zLbdEKBX6o74" style="display: none">Schedule of stock-based compensation</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240331_z37VU9Upe1O1" style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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">At <br/> March 31, 2024</td></tr>
  <tr id="xdx_40A_ecustom--CashPaymentReceivedFromEmployeeWithholdings_iI_zUodtH1odCQ8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 10pt">Cash payment received from employee withholdings</span></td><td style="font-size: 12pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="font-size: 12pt; text-align: right"><span style="font-size: 10pt">$</span></td>
    <td style="font-size: 12pt; text-align: right"><span style="font-size: 10pt">44,686</span></td></tr>
  <tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_iI_d0_zQbn0pTKPWt" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; text-align: left">Cash from employee withholdings used to purchase shares under ESPP</td><td style="font-size: 12pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-size: 12pt; text-align: right">&#8212;</td></tr>
  <tr id="xdx_40C_ecustom--CashAndEsppEmployeeWithholdingLiability_iI_zBp4VSPVprF5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%; text-align: left; padding-bottom: 2.5pt">Cash and ESPP employee withholding liability</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 style="border-bottom: Black 2.5pt double; width: 14%; text-align: right">44,686</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 style="font-size: 12pt">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240101__20240331_zBbZ385qBCol" style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>For the Three Months ended</b></span></td></tr>
  <tr style="vertical-align: bottom">
    <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>March 31,</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td></tr>
  <tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_d0_z5ywiuAQUKZe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 84%; text-align: justify"><span style="font-size: 10pt">Cash from employee withholdings used to purchase ESPP shares</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-size: 10pt">$</span></td>
    <td style="width: 14%; text-align: right">&#8212;</td></tr>
  <tr id="xdx_409_eus-gaap--EmployeeBenefitsAndShareBasedCompensation_zGVAsWKLuWgc" style="vertical-align: bottom; background-color: white">
    <td style="text-align: justify"><span style="font-size: 10pt">Stock based compensation expense</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right">18,116</td></tr>
  <tr id="xdx_403_ecustom--TotalChargesRelatedToEmployeeStockPurchasePlan_zDnz3nH9T6zg" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify"><span style="font-size: 10pt">Total increase to equity for three months ended March 31, 2024</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; text-align: right">18,116</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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of stock option issuance of shares</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_885_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z2NSvuLDPiRl" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)">
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left; vertical-align: bottom"><span id="xdx_8BA_zPlw08DxcvR8" style="display: none">Schedule of stock option issuance of shares</span></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><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td>&#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 colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td>&#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 colspan="2" style="text-align: left; vertical-align: bottom">&#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">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 colspan="2" style="text-align: left; vertical-align: bottom">&#160;</td><td style="padding-bottom: 1pt">&#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">Options</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="vertical-align: bottom; width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 46%; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2022</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1KmbA2wUXUa" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance">926,266</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zP6hBQUlmwJ5" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance">5.74</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right"><span id="xdx_902_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zx9hF3LnqXec" title="Weighted average remaining contractual term (Years)">3.3</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zUB4Gc66RBki" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Granted</span></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 id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zzPlZ0tw8Wvc" style="font-size: 10pt; text-align: right" title="Number of options, Granted">463,117</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">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIiUAoi3QFZj" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted">4.22</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"><span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zEGJpUk39iE9" title="Weighted average remaining contractual term (Years), Granted">4.35</span></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">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; 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; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Forfeited</span></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOBL9mgOpGjc" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Forfeited">(1,608</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zuWBQc1QAGWh" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Forfeited">14.00</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2023</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zBN3UEPdvYTi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">1,387,775</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZFyKsUZ8dMg" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance">5.23</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zhI02mTDoZLf" title="Weighted average remaining contractual term (Years)">3.0</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd2V8Ax2WKYc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercisable at December 31, 2023</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zS1ErKCT33U8" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable">581,324</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpWGuNrfZhCk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">5.38</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfyd6LZL3mF3" title="Weighted average remaining contractual term (Years), Exercisable">1.8</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zycCOal3BqY5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at December 31, 2023</span></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 id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYB5j0wWyI61" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance">1,387,775</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">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAWOX4sBG8o3" style="font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance">5.23</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"><span id="xdx_908_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zHgpkZgr3zT6" title="Weighted average remaining contractual term (Years)">3.0</span></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">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zFMifSaFxdTh" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Granted</span></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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKBomTOhmQL4" style="font-size: 10pt; text-align: right" title="Number of options, Granted">&#8212;</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">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNBt7aAxbpE1" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted">&#8212;</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">&#8212;</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">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; 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; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercised/Forfeited/Expired</span></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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTFilSTLimt7" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Exercised/Forfeited/Expired">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJWI1DkBjFAb" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercised/forfeited/expired">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Outstanding at March 31, 2024</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxT2qOkQl6ha" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">1,387,775</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKztujvyNpVi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance">5.23</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztq4pXpZVvZh" title="Weighted average remaining contractual term (Years)">2.8</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgwFL3l5z6r5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"><span style="font-size: 10pt">Exercisable at March 31, 2024</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeyd6978FJbb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable">766,323</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXWyvXRDJ98f" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">5.55</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztcSc9wkPo92" title="Weighted average remaining contractual term (Years), Exercisable">1.8</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKuDjjodo7qk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of warrants outstanding</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zscM8BVqHDCg" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BF_zQdhWT3Nh4Zg" style="display: none">Schedule of warrants outstanding</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>&#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%; font-size: 10pt">Outstanding at December 31, 2022</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgsxGyN2UUU5" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance">80,091</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbrF3FJ67R27" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance">8.63</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 10pt; text-align: right"><span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zasvs8F7l7p7" title="Weighted average remaining contractual term (Years)">0.8</span></td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zFtzsfEJee1j" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZYcBuKR5Dhh" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised">(102,947</td><td style="font-size: 10pt; text-align: left">)</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td id="xdx_98E_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zsvfoIz26L5k" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Warrants issued</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zI9obmMeR794" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zM0ZiX5gva9h" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGHpay5CkLna" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zTofU3GzrjMa" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1k4WAnm8ege" title="Weighted average remaining contractual term (Years)">0.7</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWqpyFccTn47" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmuefweR5rf1" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJjvrRBeWzwc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zY8xiAPkb3bf" title="Weighted average remaining contractual term (Years), Exercisable">0.7</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWQCv3LFCD95" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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 style="font-size: 10pt">Outstanding at December 31, 2023</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zvjv5Pdpwrfg" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance">44,644</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">$</td><td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJHVXSreUDB6" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance">7.70</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"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8Q36rLJ4IW5" title="Weighted average remaining contractual term (Years)">0.7</span></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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z57J6Po3gSt1" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zROfOS6uA1z3" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td id="xdx_98F_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z3AxOYWbrv4d" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif">&#160;</td>
    <td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right">&#8212;</td><td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Warrants issued</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zNqZ5awzyZf2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_987_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zfM1NRJyMQmj" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Outstanding at March 31, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zjZ1vgCxFYlb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zifklVr0PSN5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zwSfftxRsYtd" title="Weighted average remaining contractual term (Years)">0.5</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuje6OQ157Ra" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">Exercisable at March 31, 2024</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJ0w0RboN56" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable">44,644</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z5dEkmOr9R64" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable">7.70</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"><span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zDuCGXvcYmA9" title="Weighted average remaining contractual term (Years), Exercisable">0.5</span></td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk2b74EfdENb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable">&#8212;</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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_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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.</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> -Subparagraph (bbb)<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee stock purchase plan activity.</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 (g)<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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>34
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741515655552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE AND CONTRACT ACCOUNTING (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_883_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zFaJKAcwuaMh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B1_z4PqynwAYAwe" style="display: none">Schedule of contract assets on
uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20240331_zvdmp9ztZgTk" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_z255Gwkiugb9" 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>March 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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>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="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_400_ecustom--CumulativeRevenueRecognized_iI_pp0p0_maCWCANzFM7_zCK4nX2zzQeg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; font-size: 10pt; text-align: justify">Cumulative revenues recognized</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">9,090,355</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">8,820,256</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zbnX8ctwvj6l" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Less: Billings or cash received</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(8,178,309</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(8,178,309</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zYdx2he8tHh2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt">Contract assets</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">912,046</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">641,947</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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_88B_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zAnkaKICg8H5" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B1_zMhmUjDy4549" style="display: none">Schedule of contract liabilities
on uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49D_20240331_zDFirvnDEwWd" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_490_20231231_z5TmcVQQQru5" 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>March 31, </b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#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>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="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_maCLTSzZSN_znoUEvp2VIK9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; font-size: 10pt; text-align: justify">Billings and/or cash receipts on uncompleted contracts</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">1,264,658</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 10pt">&#160;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 14%; font-size: 10pt; text-align: right">1,264,658</td><td style="width: 1%; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--CumulativeRevenuesRecognized_iNI_pp0p0_di_msCLTSzZSN_z102RUas0ln3" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Less: Cumulative revenues recognized</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(199,976</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(199,976</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_mtCLTSzZSN_maCWCLz9Ae_zdue4UgPKeml" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify">Contract liabilities, technology systems</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">1,064,682</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">1,064,682</td><td style="font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ContractLiabilitiesServicesAndConsulting_iI_maCWCLz9Ae_zkYJ398sA3ed" style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">Contract liabilities, services and consulting</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">628,258</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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">601,561</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ContractWithCustomerLiability_iTI_mtCWCLz9Ae_z3deCY3JPcxk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt">Total contract liabilities</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">1,692,940</td><td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">1,666,243</td><td style="padding-bottom: 2.5pt; font-size: 10pt; 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_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation of revenue</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_891_eus-gaap--DisaggregationOfRevenueTableTextBlock_zOd7f1h0lyKd" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B5_zgD7Vai63pUl" style="display: none">Schedule of disaggregation of revenue</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>
    <td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Segments</b></span></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>Rail</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>Commercial</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>Government</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>Artificial Intelligence</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>Total</b></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Primary Geographical Markets</b></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>
    <td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td>
    <td>&#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>
    <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: #CCEEFF">
    <td style="width: 35%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">North America</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zgFFcpCg6vm" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,067,449</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjVlQHHovzQj" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zJN1JB6i9qj1" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXw7r9SrENx5" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.25pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_z97uSTN4WmI" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,070,680</span></td>
    <td style="width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <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: bottom; background-color: #CCEEFF">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Major Goods and Service Lines</b></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <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: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Turnkey Projects</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zMN39a9n3kdh" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zPTppSbyUsK5" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zBED3tlOOfE9" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zEc725hEygTb" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zl8SrvSPLpja" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</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">Maintenance and Support</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zOjXvMXIbYp1" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">601,379</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zrjcyLHmHlHc" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zyKGtzj5mCm" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zDiC9FiLXt69" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zNbc48XirTPj" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">604,610</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">Algorithms</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zx6gT6X7v8ng" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">195,971</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQxtucFbndE2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKqXL1ojM0Te" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuE6RNrVlKz2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zIK2bzYGTkk7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">195,971</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zfhFEsESE40d" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,067,449</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQSx2I9w9mee" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkTHmDFagmja" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td style="border-bottom: black 2.25pt double">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_ziIKfaDmYk28" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,070,680</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <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: bottom; background-color: white">
    <td style="border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Timing of Revenue Recognition</b></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: right">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <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: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goods transferred over time</span></td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zAoLyGSR71Bf" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zKPhWMbH75lj" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z4O1KYVSFUZ8" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z0jclwuQEFwg" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zblf0eYko9ek" style="text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">270,099</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">Services transferred over time</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zSB0cK14vUq7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">797,350</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zs0KWFZ1DnGa" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zbC1BqIqv9mc" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zxVV9dOtWgfj" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><span style="-sec-ix-hidden: xdx2ixbrl1422">&#8212;</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zsClrDQKyg9l" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">800,581</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zykhmdc05tya" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,067,449</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zbC1V9S0AWFj" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">3,231</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zAr2mzDnlW8k" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zcovcprtfC83" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"><span style="-sec-ix-hidden: xdx2ixbrl1432">&#8212;</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.25pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">$</span></td>
    <td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_zWCwyoBFJEc3" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"><span style="font-family: Times New Roman, Times, Serif; font-size: 9pt">1,070,680</span></td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b>&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Three Months Ended March 31, 2023</span></b></p>

<table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <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><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="border-bottom: Black 1pt solid; font-size: 10pt; 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 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: 10pt; 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: 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></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><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: 35%; font-size: 10pt; 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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zoXrJnzrGiPk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">2,376,449</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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z4MeuOdl0sg1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">28,831</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKIUXYerWKd1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">11,353</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXV8Md2VG4Jk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">227,655</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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlHTc95EwRvi" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue">2,644,288</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: 10pt; 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>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; 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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zEHG9QLtqLub" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zdMkyRjLywHf" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zDJhHvJmNpkj" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zF9kb1xaB0L" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zN3TmrGkQHa4" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Maintenance and Support</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zsu8HPSNxuS1" style="font-size: 9pt; text-align: right" title="Revenue">548,685</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ43WoXhvS5d" style="font-size: 9pt; text-align: right" title="Revenue">28,831</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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zfT6Nz5pFGLg" style="font-size: 9pt; text-align: right" title="Revenue">11,353</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z00nQ4Yzw4Lb" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zYojEBhe7BD4" style="font-size: 9pt; text-align: right" title="Revenue">588,869</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: 10pt; 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhVyCkt1YWz5" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zOpAb0jXPzb" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_ztUdU9scSdf9" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z3NLzFYqteua" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">227,655</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_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zarZq4SEOyg2" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">227,655</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z5RQM8menEU1" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,376,449</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwHSMXJ0Pyod" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">28,831</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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zk49PIVTYkid" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">11,353</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z8aT8UmQF0f7" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">227,655</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331_zs4SLK6W9J04" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,644,288</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="border-bottom: Black 1pt solid; font-size: 10pt; 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: 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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-size: 10pt; 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zz9jIF24V0aj" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zzmbGs5sHTEg" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_pp0p0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z38ESOTBvep" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zP8ZmLcxiWs6" style="font-size: 9pt; text-align: right" title="Revenue">&#8212;</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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zV8mRpQ8Qjef" style="font-size: 9pt; text-align: right" title="Revenue">1,827,764</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: 10pt; 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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZpTNzm8rQv1" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">548,685</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_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zoAv5sP5blol" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">28,831</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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuOzgpHXqPpk" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">11,353</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zB9fl5QxqSOd" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">227,655</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_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuFYERutrcw8" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">816,524</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zXYIZufwAEmk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,376,449</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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zpozpVziH4Ti" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">28,831</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zxiXWxQQP947" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">11,353</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zVjElz1sUgrd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">227,655</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_c20230101__20230331_z6fGVnyoLuG9" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">2,644,288</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>35
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741522174352">
<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">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_884_ecustom--ScheduleOfNoteReceivableTableTextBlock_z02hNZnbWt0e" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt"><span id="xdx_8B2_zK1CoC8ZFxF4" style="display: none">Schedule of note receivable</span></td><td style="font-size: 12pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240331_zTtV1DP8klKf" style="font-size: 12pt; text-align: center">&#160;</td><td style="font-size: 12pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 12pt">&#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>March 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2024</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_zDygfZ13bA0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 83%; text-align: justify">Convertible note receivable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">165,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zWBvX2puWvs4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Unamortized discount</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">(9,375</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zdbwpySGePwb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Convertible note 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">155,625</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_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>36
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606752112">
<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">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashUninsuredAmount', window );">Federally insured limits</a></td>
<td class="nump">$ 2,485,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
</tr>
<tr class="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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers', window );">Number of incentive stock options</a></td>
<td class="nump">1,387,775<span></span>
</td>
<td class="nump">924,658<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_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>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Outstanding warrants</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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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 upon conversion</a></td>
<td class="nump">639,667<span></span>
</td>
<td class="nump">433,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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>
<td class="text">&#160;<span></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 upon conversion</a></td>
<td class="nump">4,541,667<span></span>
</td>
<td class="nump">1,333,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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">31.00%<span></span>
</td>
<td class="nump">70.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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">83.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">30.00%<span></span>
</td>
<td class="nump">20.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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">38.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">26.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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">13.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_srt_MajorCustomersAxis=duot_ThreeCustomerMember', window );">Three 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">61.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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_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_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_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_ThreeCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ThreeCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>37
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518922080">
<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="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 2,752,309<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Cash used in operating activities</a></td>
<td class="nump">2,032,719<span></span>
</td>
<td class="nump">$ 7,086<span></span>
</td>
<td class="text">&#160;<span></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_WorkingCapitalSurplus', window );">Working capital surplus</a></td>
<td class="nump">3,305,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="nump">$ 66,355,861<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 63,603,552<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_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_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>38
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518502512">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 183,763<span></span>
</td>
<td class="nump">$ 41,976<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 1 [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="nump">0<span></span>
</td>
<td class="nump">$ 39,968<span></span>
</td>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember', window );">Third Party - Insurance Note 2 [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="nump">22,438<span></span>
</td>
<td class="nump">$ 2,008<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember', window );">Third Party - Insurance Note 3 [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">$ 161,325<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606934016">
<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">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 03, 2024</div></th>
<th class="th"><div>Apr. 15, 2023</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</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_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember', window );">Third Party - Insurance Note 1 [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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 142,734<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 39,968<span></span>
</td>
</tr>
<tr class="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 );">Derivative, Fixed Interest Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Monthly instalments of principal and interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,501<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 2 [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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 24,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,438<span></span>
</td>
<td class="nump">2,008<span></span>
</td>
</tr>
<tr class="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 instalments of principal and interest</a></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>
</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 3 [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>
</tr>
<tr class="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>
</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 insurance policy</a></td>
<td class="nump">245,798<span></span>
</td>
<td class="text">&#160;<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="nump">$ 84,473<span></span>
</td>
<td class="text">&#160;<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 );">Monthly installments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,169<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 4 [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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 161,325<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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>40
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518402768">
<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">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 195,410<span></span>
</td>
<td class="nump">$ 195,409<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short term lease Cost</a></td>
<td class="nump">4,296<span></span>
</td>
<td class="nump">7,104<span></span>
</td>
</tr>
<tr class="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">$ 194,367<span></span>
</td>
<td class="nump">$ 126,416<span></span>
</td>
</tr>
<tr class="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 3 months 18 days<span></span>
</td>
<td class="text">9 years 2 months 12 days<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>41
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741518940848">
<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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024</a></td>
<td class="nump">$ 584,720<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour', window );">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 );">Total undiscounted future minimum lease payments</a></td>
<td class="nump">7,084,205<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,158,706)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 obligations</a></td>
<td class="nump">4,925,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_OperatingLeaseLiabilityCurrent', window );">Current portion</a></td>
<td class="num">(783,944)<span></span>
</td>
<td class="num">$ (779,087)<span></span>
</td>
</tr>
<tr class="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 obligations, less current portion</a></td>
<td class="nump">$ 4,141,555<span></span>
</td>
<td class="nump">$ 4,228,718<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour</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_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_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_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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>42
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741514298400">
<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>Mar. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<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,289,807<span></span>
</td>
<td class="nump">$ 4,373,155<span></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">$ 550,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>43
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741522355920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY (Details - Assumptions ) - Share-Based Payment Arrangement, Option [Member]<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term</a></td>
<td class="text">3 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 );">Expected volatility</a></td>
<td class="nump">66.80%<span></span>
</td>
</tr>
<tr class="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 rate</a></td>
<td class="nump">5.41%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend rate</a></td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice', window );">Grant date share price</a></td>
<td class="nump">$ 2.70<span></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_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice', window );">Grant date exercise price</a></td>
<td class="nump">2.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_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice', window );">Grant date share price</a></td>
<td class="nump">4.34<span></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_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice', window );">Grant date exercise price</a></td>
<td class="nump">$ 3.69<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice</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_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice</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_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_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>44
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741625665632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CashPaymentReceivedFromEmployeeWithholdings', window );">Cash payment received from employee withholdings</a></td>
<td class="nump">$ 44,686<span></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_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp', window );">Cash from employee withholdings used to purchase shares under ESPP</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CashAndEsppEmployeeWithholdingLiability', window );">Cash and ESPP employee withholding liability</a></td>
<td class="nump">44,686<span></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_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares', window );">Cash from employee withholdings used to purchase ESPP shares</a></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_EmployeeBenefitsAndShareBasedCompensation', window );">Stock based compensation expense</a></td>
<td class="nump">18,116<span></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_TotalChargesRelatedToEmployeeStockPurchasePlan', window );">Total increase to equity for three months ended March 31, 2024</a></td>
<td class="nump">$ 18,116<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_CashAndEsppEmployeeWithholdingLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndEsppEmployeeWithholdingLiability</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_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares</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_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp</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_CashPaymentReceivedFromEmployeeWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashPaymentReceivedFromEmployeeWithholdings</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_TotalChargesRelatedToEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TotalChargesRelatedToEmployeeStockPurchasePlan</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_EmployeeBenefitsAndShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee benefit and equity-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeBenefitsAndShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606819024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY (Details - Non plan options) - Share-Based Payment Arrangement, Option [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_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 );">Outstanding beginning balance</a></td>
<td class="nump">1,387,775<span></span>
</td>
<td class="nump">926,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 beginning balance</a></td>
<td class="nump">$ 5.23<span></span>
</td>
<td class="nump">$ 5.74<span></span>
</td>
<td class="text">&#160;<span></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term (Years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years 3 months 18 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 beginning balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Number of options, Granted</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">463,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 0<span></span>
</td>
<td class="nump">$ 4.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contractual term (Years), Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years 4 months 6 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Number of options, Exercised/Forfeited/Expired</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,608)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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/expired</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 14.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding ending balance</a></td>
<td class="nump">1,387,775<span></span>
</td>
<td class="nump">1,387,775<span></span>
</td>
<td class="nump">926,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 ending balance</a></td>
<td class="nump">$ 5.23<span></span>
</td>
<td class="nump">$ 5.23<span></span>
</td>
<td class="nump">$ 5.74<span></span>
</td>
</tr>
<tr class="re">
<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)</a></td>
<td class="text">2 years 9 months 18 days<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value, Outstanding ending balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of options, Exercisable</a></td>
<td class="nump">766,323<span></span>
</td>
<td class="nump">581,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 5.55<span></span>
</td>
<td class="nump">$ 5.38<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1 year 9 months 18 days<span></span>
</td>
<td class="text">1 year 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="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1</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_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_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>46
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741606941072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS' EQUITY (Details - Warrants) - Warrant [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [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 );">Outstanding beginning balance</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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Outstanding beginning balance</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="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)</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">8 months 12 days<span></span>
</td>
<td class="text">9 months 18 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue', window );">Aggregate intrinsic value, Outstanding beginning balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Number of warrants, Warrants expired, forfeited, cancelled or exercised</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(102,947)<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_WarrantsExpiredForfeitedCancelledOrExercised', window );">Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Number of warrants, Warrants issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl 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="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding ending balance</a></td>
<td class="nump">44,644<span></span>
</td>
<td class="nump">44,644<span></span>
</td>
<td class="nump">80,091<span></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_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Outstanding ending balance</a></td>
<td class="nump">$ 7.70<span></span>
</td>
<td class="nump">$ 7.70<span></span>
</td>
<td class="nump">$ 8.63<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue', window );">Aggregate intrinsic value, Outstanding ending balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" 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">44,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 7.70<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term (Years), Exercisable</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate intrinsic value, Exercisable</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice</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>instant</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>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_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average intrinsic value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 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_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_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_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_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_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>47
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741503246224">
<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">1 Months Ended</th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>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>Sep. 30, 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>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Nov. 10, 2023</div></th>
<th class="th"><div>Sep. 28, 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_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>
</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_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,441,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,441,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_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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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>
</tr>
<tr class="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>
</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_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>
</tr>
<tr class="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="nump">$ 37,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>
</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="nump">$ 438,998<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Number of incentive 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="nump">1,387,775<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">926,266<span></span>
</td>
<td class="nump">1,387,775<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 incentive stock options exercisable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">766,323<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">581,324<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=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>
</tr>
<tr class="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>
</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_FairMarketValuePercentage', window );">Fair market value percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', 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="nump">$ 44,686<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation 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="nump">$ 18,116<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=duot_EmployeeStockPurchasePlanMember', window );">Employee Stock Purchase Plan [Member] | Call 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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase discount, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=duot_EmployeeStockPurchasePlanMember', window );">Employee Stock Purchase Plan [Member] | Put 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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase discount, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<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">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>
</tr>
<tr class="ro">
<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">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>
</tr>
<tr class="re">
<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="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>
</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_Plan2021Member', window );">Plan 2021 [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>
</tr>
<tr class="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>
</tr>
<tr class="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">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>
</tr>
<tr class="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 );">Number of incentive 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="nump">788,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">788,117<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_Plan2016Member', window );">Plan 2016 [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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Number of incentive 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="nump">269,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">269,658<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_NonPlanMember', window );">Non 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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Number of incentive 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="nump">330,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">330,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_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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">8,655<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>
</tr>
<tr class="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="nump">$ 9<span></span>
</td>
<td class="nump">$ 12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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] | 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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase discount, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">8,655<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>
</tr>
<tr class="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="nump">$ 37,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>
</tr>
<tr class="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="nump">$ 4.33<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>
</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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation 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="nump">$ 141,204<span></span>
</td>
<td class="nump">$ 75,128<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 shares converted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7<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>
</tr>
<tr class="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>
</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_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">Each share of Series C Convertible Preferred Stock has 172 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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">$ 5.50<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_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="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>
</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] | 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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<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="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>
</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>
</tr>
<tr class="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>
</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_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="nump">$ 1,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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,919<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>
</tr>
<tr class="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="nump">1,919<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>
</tr>
<tr class="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">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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Shares 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="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_StockIssuedDuringPeriodValueNewIssues', window );">Shares purchased, 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="nump">$ 620,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_ConversionOfStockSharesConverted1', window );">Conversion of stock shares converted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockConvertibleSharesIssuable', window );">Conversion of 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="nump">206,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>
</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] | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">300<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>
</tr>
<tr class="re">
<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="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>
</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>
</tr>
<tr class="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>
</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_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="nump">13,625<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>
</tr>
<tr class="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="nump">13,625<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>
</tr>
<tr class="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">Each share of Series E 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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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="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="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Shares 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="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_StockIssuedDuringPeriodValueNewIssues', window );">Shares purchased, 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="nump">$ 2,125,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of stock shares converted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockConvertibleSharesIssuable', window );">Conversion of 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="nump">708,333<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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>
</tr>
<tr class="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="nump">7,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 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>
</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</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] | 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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<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>
</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>
</tr>
<tr class="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>
</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_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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">$ 6.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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="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>
</tr>
<tr class="re">
<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="nump">2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 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>
</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="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="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_NumberOfSharesExchanged', window );">Number of shares exchanged</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</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_NumberOfSharesCancelled', window );">Number of shares cancelled</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="ro">
<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="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_FairMarketValuePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairMarketValuePercentage</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_NumberOfSharesCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NumberOfSharesCancelled</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_duot_NumberOfSharesExchanged">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NumberOfSharesExchanged</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_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 );">- 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_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_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_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet paid nor invoiced, and liabilities 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_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_ConversionOfStockSharesConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_ConversionOfStockSharesConverted1</td>
</tr>
<tr>
<td style="padding-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_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_PreferredStockConvertibleSharesIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 common shares issuable upon conversion 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_PreferredStockConvertibleSharesIssuable</td>
</tr>
<tr>
<td style="padding-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_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_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_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_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_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_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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_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_SubsidiarySaleOfStockAxis=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_SubsidiarySaleOfStockAxis=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_OptionIndexedToIssuersEquityTypeAxis=us-gaap_CallOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CallOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PutOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PutOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PlanNameAxis=duot_Plan2021Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_Plan2021Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_Plan2016Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_Plan2016Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_NonPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NonPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_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_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_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_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>48
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741517973520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_CumulativeRevenueRecognized', window );">Cumulative revenues recognized</a></td>
<td class="nump">$ 9,090,355<span></span>
</td>
<td class="nump">$ 8,820,256<span></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">(8,178,309)<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">$ 912,046<span></span>
</td>
<td class="nump">$ 641,947<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_CumulativeRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CumulativeRevenueRecognized</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>49
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741624328384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 1,264,658<span></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_CumulativeRevenuesRecognized', window );">Less: Cumulative revenues recognized</a></td>
<td class="num">(199,976)<span></span>
</td>
<td class="num">(199,976)<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">1,064,682<span></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">628,258<span></span>
</td>
<td class="nump">601,561<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,692,940<span></span>
</td>
<td class="nump">$ 1,666,243<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 );">- 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_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_CumulativeRevenuesRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CumulativeRevenuesRecognized</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>50
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741514048576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 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_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,070,680<span></span>
</td>
<td class="nump">$ 2,644,288<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">270,099<span></span>
</td>
<td class="nump">1,827,764<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">800,581<span></span>
</td>
<td class="nump">816,524<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">270,099<span></span>
</td>
<td class="nump">1,827,764<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">604,610<span></span>
</td>
<td class="nump">588,869<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">195,971<span></span>
</td>
<td class="nump">227,655<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">1,067,449<span></span>
</td>
<td class="nump">2,376,449<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">270,099<span></span>
</td>
<td class="nump">1,827,764<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">797,350<span></span>
</td>
<td class="nump">548,685<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">270,099<span></span>
</td>
<td class="nump">1,827,764<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">601,379<span></span>
</td>
<td class="nump">548,685<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="nump">195,971<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">3,231<span></span>
</td>
<td class="nump">28,831<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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">3,231<span></span>
</td>
<td class="nump">28,831<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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">3,231<span></span>
</td>
<td class="nump">28,831<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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">0<span></span>
</td>
<td class="nump">11,353<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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">0<span></span>
</td>
<td class="nump">11,353<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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">0<span></span>
</td>
<td class="nump">11,353<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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text"> <span></span>
</td>
<td class="nump">227,655<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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="text"> <span></span>
</td>
<td class="nump">227,655<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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">0<span></span>
</td>
<td class="nump">227,655<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">1,070,680<span></span>
</td>
<td class="nump">2,644,288<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">1,067,449<span></span>
</td>
<td class="nump">2,376,449<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">3,231<span></span>
</td>
<td class="nump">28,831<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">0<span></span>
</td>
<td class="nump">11,353<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">$ 0<span></span>
</td>
<td class="nump">$ 227,655<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_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>51
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741517578592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUE AND CONTRACT ACCOUNTING (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,692,940<span></span>
</td>
<td class="nump">$ 1,666,243<span></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_ContractLiabilitiesForTechnologiesSystems', window );">Contract liabilities for technology systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ServicesAndConsultingRecognized', window );">Services and consulting recognized</a></td>
<td class="nump">$ 292,947<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_ContractLiabilitiesForTechnologiesSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractLiabilitiesForTechnologiesSystems</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>52
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741515729376">
<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">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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">$ 55,099<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>53
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741521512128">
<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>Mar. 31, 2024 </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">(9,375)<span></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">$ 155,625<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>54
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741519066704">
<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">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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>55
<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.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139741610110416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>May 07, 2024</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 23, 2024</div></th>
<th class="th"><div>Apr. 03, 2024</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_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>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of shares</a></td>
<td class="nump">75<span></span>
</td>
<td class="nump">350<span></span>
</td>
<td class="nump">225<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_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>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesConverted1', window );">Conversion of shares</a></td>
<td class="nump">25,000<span></span>
</td>
<td class="nump">116,668<span></span>
</td>
<td class="nump">75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member] | 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>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Aggregate proceeds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 250,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_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of 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="nump">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_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="nump">$ 3.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_ConversionOfStockSharesConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_ConversionOfStockSharesConverted1</td>
</tr>
<tr>
<td style="padding-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_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_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_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_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_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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>56
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( -"#K5@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " #0@ZU8\<>Y ^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O;15P=#E9<,G!<&!XEM(;EM8DX;DI-VW-ZU;A^@'\#%W__SN
M=W"M#D+W$5]B'S"2Q70SNLXGH<.*'8B" $CZ@$ZE,B=\;N[ZZ!3E9]Q#4/JH
M]@@UY_?@D)11I& "%F$A,MD:+71$17T\XXU>\.$S=C/,:, .'7I*4)45,#E-
M#*>Q:^$*F&"$T:7O IJ%.%?_Q,X=8.?DF.R2&H:A')HYEW>HX/WYZ75>M[ ^
MD?(:\Z]D!9T"KMAE\ENSWFP?F:QY?5OPNZ)JMC47#1?\X6-R_>%W%7:]L3O[
MCXTO@K*%7W<AOP!02P,$%     @ T(.M6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M"QX*91^ ^U,IS?;$_D"Q6=__#U!+ P04    " #0@ZU8"*$3=Z8(  "O,
M&    'AL+W=O<FMS:&5E=',O<VAE970R+GAM;+6;?6_B/!+ OXK%/;K;1Z)+
M_):7/BT2I3S:ZKK;7F'O=#K='RF8$FU(V,2TV_OT-PDT)K&3EC1=J5L"XV'&
M'L_\QDG/GN+D1[H20J)?ZS!*SWLK*3>G@T$Z7XFUGWZ.-R*"3Y9QLO8E7"8/
M@W23"'^1#UJ' V)9]F#M!U%O>):_=YL,S^*M#(-(W"8HW:[7?O)\(<+XZ;R'
M>R]OW 4/*YF],1B>;?P',17R^^8V@:M!H641K$64!G&$$K$\[XWPZ9C3;$ N
M\<] /*4'KU'FRGT<_\@NKA;G/2NS2(1B+C,5/OQZ%&,1AIDFL./G7FFO^,YL
MX.'K%^U_YLZ#,_=^*L9Q^*]@(5?G/;>'%F+I;T-Y%S]]$7N'>*9O'H=I_C]Z
MVLM:/33?IC)>[P>#!>L@VOWV?^TGXF  9C4#R'X >>L NA^0S]Q@9UGNUJ4O
M_>%9$C^A)),&;=F+?&[RT>!-$&7+.)4)?!K .#D<WWR;WEQ?78YFDTMT,;H>
M?1M/T/3+9#*;HA/T?7J)/OWV^]E PE=E P;SO=J+G5I2H_:KGWQ&%/<1L0@S
M#!\W#[\4\V(X+0\?@(.%EZ3PDN3ZJ%E?MA=.TXT_%^<]"/94)(^B-_SK7[!M
M_3'^?G<W^39#H^D4?#XUN;K3S8[7;7*\(V6E::#%--"VVL=^NC+YOE-HYPJS
ME/ X))[C<(^<#1X/W3+(,89=IN1*%K/"8M;6XM%\'F\CF4(RF8O@T;\/11]%
M0IJ\V'T)/[".>[;E614G=#',;,)L:G:"%T[PUM,>1S*!5(;\-!4R-=G.-:,\
M3"QF5VS7Q6R&/>:83;<+T^VVIE]%CR*2<?)L,MK69Y+#5J9.Q6J3'+&QS<UF
M.X793ENS;Q.Q\8,%$K^@$J8B17ZT0+%<B032;9* 2PUKX6CF4L]U>74M=#'8
M"<QQS4ZYA5-N6Z=FL?1#--[;/ZJUW]6#A+JV1W#% 8,<X;;KU2R+5WC@M5\6
M()-$/N?+(7YN@PVP@JS=T)XAVCEEU:RDBSG$YE;-IL"6*II66T=NP U?!M$#
M"@7@!4HRCD#Q$FWA(H\L8S6U-$L9<3W7JFX8DR!U*.8U2X,/0 "W]6DJ8&L$
ML#@+L8G3P.P!UG,LM^!?U8%7Y<KVJQ*/6]?XF]F7R5U3A<>=EOBNM)4G0A5Y
MW+K*?XNE0'>OU\O]-Y3S,H<<4%U,DQQU>-UBJK*/6]?]6U^*K.QGB0)JYP+:
M&FAYZETQ%'7B4*YM+).<AUF=*ZKXX];5?QHOY9.?"-A7C]!0Y2D/S>-4-KBC
MUWGN.M1UJ^X8>( 3E];4(*R  +<F@ET5NLEK:7T-PGK-=QV+.EJBT.4\6#92
MYX%B ]P:#F8WL]'U/E$8;3=4=N(P0%W->I,DX#!QZQ*UP@#LOK>9N;X:75Q=
M7\VN)C7YKC5I&/-=1]K*\Z&@ K>FBJ)'V/C/6<(SSH4."=CQ/%R%.H,<][A-
MF7D]B8()TAHFLGQ=& _]^#*(_&B>P87_D B1Y0OC'B,Z)6"7.@>-S+X9-= $
M]AR[QB7%$J0U2\"2)%NA^-MHOLX(A%G,U<S7Y3!T/;BF7R,'QP6M2W25[^+[
M,'CPLR.I].2E@=C$2?:&T36B(ZE+/<:JKAGD',]R:]"5*#H@[<\ 7IK1,/#O
M@S"00<WR&*H^-!&>E@2-@C9TU'4+I/B M.:#<B]T_8HK>M6GEHOU]MHD2)AC
M\3I7%!^0UGS0$&M]>"M-T5LB3B<!AAG@7!7F3()0KQQ<4W&)8@;R3F9X;95T
M%' ((;95[5M-@LSACH-K7%#00%I#PSA>KP.Y+J TVT:P9@(2-23O3SES,^,9
M:IOO1,9#Q?<K*L^+@A'2&D:FLYOQW[_<7%].[J9_0Y-_?+^:_=M\OMHIC72E
MK3PABD9((XT,LVB((Y3*>/[C%/UF?;8L#!4\08]^N!5_(.AU^];N!Z4K@'\(
MFJU<Q4GP/['H(Z</O3S\N'DHP95E]VV;OH@&:;I]$:-]SV.%& RBWHM8O)6I
MA$]R4I#HJY_,5\5Q?#[D$IK ]3V ^LLI>Q_!P(W([ZJ$QC,]8CA- 6.K6] D
M9=40!5601%M#TFBQ"++D!WDD.]D[":*3N;\)(*\8#[1UY'' ?^YJAV &23L[
M>L6>5^.-XB/Z'C[:KK<A-+F+['94,#<?MU =?4X@3CAW;<T/DRBU+1"N.9VG
M"I1H:U":;N]/9%RW"CK><-MQH.&N&F\0Y(1Z=EU$'=P+:0U"UU!:3W<O]U4J
M@?J[39YWVQI]PGTH_L5F6T+/KC8]V@UYX[8SU@6J<],)Y@[CVEV7UP7+LZ,
MB[X3L*:9KZLX7(@DA>S^<QM(8]:@AGLO''O O%5?#(+4MCFN:;"H(BS:FK T
M_,A7Z<V^Z<14<QQ@E&PZ#J *KF@C7$'!B1X%T%_6(4Y%DODP0K>)6 I P[TO
MZ#]?\[#[K]&+UO!F*K]=:2O/AN(TZGPXC]#6*&B<D(ZTE2=$ 1IMY)VABH0\
M._5W'&)T6[_KHX5QDTC90 5,]#5@TN+WXKCX;7T\9%RNCK25;W<KSF'6A\<O
M:XU2I@GI2EMY0A0JL494.B)^F<XYV@W^)I&R@0J!6","F>)W?%3\-NL_>KD^
MXN834U3%Z,?';VMP,TY(1]K*$W+P $LC2!T3OSH :?';)%(V4-$1:Z0C4_Q>
M'A>_K>G+N%P=:2O/AJ(I9G]\_'8*5%UI*T^( BK6R"?'Q*]^RZO:KQA$:D[F
MF (<U@PXAOB='!>_G1X_=:6M/!N*IICW\?';*5!UI:W\Z)T"*M[()T?$+S?<
M-*O>EC')U/3:7"$.;T8<0P3_>50$-^L_=L&ZTE:>#<53O/5S/&^.8-XI4G6E
MK3PA"JEX(Z$<$\'Z4[A5@F@4V1DX.'B:/'N4_ZN?/ 11BD*QA#'69P>B/]D]
M';^[D/$F?\#\/I8R7N<O5\)?B"03@,^7<2Q?+K)GUHN_41C^'U!+ P04
M" #0@ZU89 'SKY4%  #D(P  &    'AL+W=O<FMS:&5E=',O<VAE970S+GAM
M;+6:_6_B-AS&_Q6+3=,FW4@<)[QT@-32GNZDZUUU=-L/TWY(@PM1\\(< W?W
MU\]Y:8QC8V-$^T-)X/$W'YOD>6*3R3XG+\4:8PJ^I4E63'MK2C=7CE-$:YR&
M13_?X(Q]\IR3-*1LEZR<8D-PN*P:I8GCN>[ 2<,XZ\TFU7L/9#;)MS2),_Q
M0+%-TY!\O\%)OI_V8._UC:_Q:DW+-YS99!.N\ +3/S</A.TY;95EG.*LB/,,
M$/P\[5W#J[D?E TJQ5\QWA<'VZ#LRE.>OY0['Y?3GEL2X01'M"P1LI<=GN,D
M*2LQCO^:HKWVF&7#P^W7ZN^KSK/./(4%GN?)W_&2KJ>]40\L\7.X3>C7?/\!
M-QVJ *,\*:K_8%]K@V$/1-N"YFG3F!&D<5:_AM^:@3AH /TC#;RF@7=J ]0T
M0%5':[*J6[<A#6<3DN\!*=6L6KE1C4W5FO4FSLJO<4$)^S1F[>AL_N7SXLNG
MC[?7CW>WX.;ZT_7G^1U8?+B[>UR 7Q]"@C.ZQC2.PN0W\#OX&3B@6+-WBXE#
MV='+&D[4'.FF/I)WY$CW(>D#!-\!S_5\1?.YOODMCMKF2&SNL#ZW'??:CGM5
M/?](O0=VNF!"\!*P,8Y>WH%-2, N3+98U;6ZUK"J55X9NYG;=UTX<7:'/3"I
M!%#4@B([T/H+ .&6KG,2_\!+%7!=,SA @6[]UV$^02A@^RVV?Q;V$A?Q*@NI
M&MN7:,:^#V5JLTZ #EKH0 L]S].4><LI9T1PTAEA4@F4@Y9R8$%YTNDPD,8K
M<-7GPRE*@7K84@_MJ>.BV*J)AQ+'$,$ P5&'5Z5S!X,!4M..6MJ1/2V+P8*&
MV3+.5BKDD0H9C<=^!UFE<P.$QFKD<8L\UB(_LA@OMN3[*W34=.&H7X_E2Q]Y
M75B#2""%+D\=US"\V0X3&C\E&"PPB=G@7@-N&8NR!^"?>YP^8?*O,FNT]<N;
MGZMB$T9XVF-W-P4F.]R;_?(3'+A_**/G0M7$T3C(8'C!+&J*#03+[GQK>HV(
MR1,36D;F29;>%)4=I8MLU(G8/#_A>0%ZW'N@'(H2K4XB@O+$A.=%IL%VH!R&
M$JU.(M+RJ(3ZK)1HH^J:KN[O-R2.,-A@4G=!25U7'QT@#?JHRZT7B>0\/J$I
M/R7SN;$S'VU]:_.Y4#5Q-'@L0WTN6YK/4&$L\K5L4(FH/).A/I3/-" Y;V&@
M8#;)1&B>RE ?RV?8CYRY$JQ.(LZ'>"9[^DP^TWZ:JCI:K42DY9GI66:FG?UX
M<D .N]0ZB4A],.G41ZC">N96UJ.O;VL]EZHFC@9/9L\RF?5S<'2*]9A4(BK/
M9N\MIK.>G+L*YS&I1&0>T)YE0!N-IRFHO91U$A&4Y[&GS^-SC4>>JDJT.HE(
MR_/2L\Q+2^,92K<T03_H<NM%(CF/3\\TIY7,Y];.?+3UK<WG0M7$T>"Y[%GF
MLMY\QB>9CT$E+@#R9$;G);/>?)"<NKYB_<^@$I%Y/"/+>#::3U-0N/\:PW$7
M5Z'RQD=63A#/973>U-9@04B>LZJ8%:KCS ?KPI;I:6=$2 [*[O1+*Q&I>9 B
M?9 J3.C.RH3T]6U-Z%+5Q-'@&8TL,UIK0DTQ@PF95"(J3VET7DH;3$A.8*3Z
M%<(D$Z%Y6"/+L#;;D+R@#-' ZR:T2E9.%X\ \XQ&YTUQ34:DF+RJJ!4R#37/
M4F29I996),>F9$4ZB?@#%8]5WWH1^KV5%>GKVUK1I:J)H\$3V[_D(K2O6F"6
M?Z8SJ$14GM;^6RQ$^^H%YBZR024B\[#V+[T([9L7H;42$?3@9]LW683VS8O0
M6HE(R_/3?]-%:%^UONQUN?6BFMPY> 2C?/[E/B2K."M @I]9*[<_9$5(_4A)
MO4/S3?54QE-.:9Y6FVL<+C$I!>SSYSRGKSOE@Q[M@SVS_P%02P,$%     @
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
M-&\W##:P4AO ]RL!$[?_H&]P^+'(XO]02P,$%     @ T(.M6%3T>5]8 @
MMP4  !@   !X;"]W;W)K<VAE971S+W-H965T-RYX;6RME%%OTS 0Q[^*%1#:
M)-:D2=:-DD9J.Q"3&*I6!@^(!S>Y-M8<.]B7=OOVV$X:NBFK$.*E\=GW__GN
MZKMD)]6]+@"0/)1<Z(E7(%9CW]=9 275 UF!,"=KJ4J*QE0;7U<*:.Y$)??#
M(!CY)67"2Q.WMU!I(FOD3,!"$5V7)56/,^!R-_&&WG[CEFT*M!M^FE1T TO
MNVJAC.5WE)R5(#23@BA83[SI<#R/K;]S^,9@IP_6Q&:RDO+>&M?YQ ML0, A
M0TN@YK.%.7!N02:,7RW3ZZZTPL/UGO[1Y6YR65$-<\F_LQR+B7?ID1S6M.9X
M*W>?H,WGW/(RR;7[);O&-S8W9K5&6;9B8Y=,-%_ZT-;A0& X_8*P%83/!?$+
M@J@51"[1)C*7UA5%FB9*[HBRWH9F%ZXV3FVR8<+^BTM4YI09':8+^DBVFBQ
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
M(2G"E8NT6^_\K.A\/()-Z2/%!1@M^B&X#;*?-#Z8Y1T(Z$#8 XVWN1IR>G&
M*L&Q]++%C,FPV+"5B'4>2($X']3:DC6 9%^6XF:@E3,CQY@,I2O_#/0<N<:=
ME"MUC] 'J#M.JOZS.9F=O7H^.SX[,C>1(;SPF1UP8\1-1@4T9M&;ZZ+[.DDF
MDDK9%BP.X7E"?KVSSB0PGKPK\H'I(SLN>)9H/#[Z%^!"#GY5AZ>X2:R(CC3#
MTS*V,ZJ1_0P;%T^8_$,3[AA^A@SBLH9E[]X OFTA;+,+8<_TD< <'5N1\^FQ
M.3TR)R_,2_KWR)SWWWO?C-\_>VU.7YGC4_/JU!P?FU\LF=2T(06?[.&?('@D
M,,F+8W/R?"0J?Z77ZL<%)6%!H;B)\VH0V<@2.=EI8<78'*8BK@0<FKKFX.E.
MY\ 2O]J'$'-/U0DX:4 *0J""1OW DI+<<Y&%&U!J4+0X#G4X\6'9ZDJ1:V:X
MPMW.$C%KY$08@<1(%@!TA=* 4K"5'?0)E[]QRKLA,U"P!,6K[ZS]2C:&+!ZP
MXB,+1KZ*F(/$AWL,CC)B>TO,GIL/"!;_"NL,+GSP!N.2X^X P:+G/I+O(&LA
MW\5JK7)NHOX(@JI5SE[ZHLY9%#AZ\O6 FQ!BO#HYFKG08]]LH.3G #OU71,-
MAV%":8PQSFZ'LY%Q\P06'M/="1,@5R'<9B]'%E<&ACLAK2ZZM=5R/< 6 :6B
MXGPGSQ<-IJ6QIB&1S24'JKG<;8R?[ X&V"]Z>!\5HZ-I-A&+9A,:ERU)J$N6
MZ9.<FP^OA^1J%V'Z1+PX-POLF2OPA5F 5%HTJE!+2T%' B*-^Q!/*QQ%E,U5
M* =#.7U=B)8B1 ,N3_VV/7!*B@Q&2WZK'$5Q-&Q_CP2'9O@:]$:@E,92(V D
M(CT!)"?R??(;*2*WF%W<#J!-DIM_'ZQ/;)#1*WX?-0K4"]@#=B]%U0PJ?81>
M_9.)/CE46\_ZZK6^*::G1N#^.])0Z)1[D_R*,IPY?F,^;\WE^CO^/M2P>(XC
MV(A.DGJ<I7$9?$[(Y<A< UBJMM!GD;+,=;J3T70R@()7G9O>V[&D@.X I.L%
M%]TXHZ;$(=_I)CE]0W'N]A!+]N):H4)W0$<4]CT]0%]4=3R2ZVG0C8QW9AP4
M8M%],,'U?;4-G,5;; N52/,0*C$C7,_QG!/I(+_"*\W4+TA337J7%J6NTZ<@
M)S5P*8M)V\ 8TCD+C0@C65K.#3(XY'K[-& '.XB( /B#N=]ALLV[FO[US'$V
M]L/YS3MOLR.;U>EKB:33B?T1@7/:4ID495A]<A8M9E_& "*#"A>Y#I\&*5K>
MN-9.&4J* 9:6$*.$P[Z&XQ!T\XS[&M0'[[9KPOT0@\;>8>EQZ\Z-F"6A7+ 3
M#7*BJ C)BEEXK$D?%#%F68NPT2<T0MROSPA?N'& (Y0H,$3 +%YKEF@N.0"S
M3MD75D18WV9II!Q<]SM$K*VI9OVBL^/]/'=D7P<H_;DR_T:X"IEHS4".P4N:
MUYS-@J$]/7D1O+TO \2HX]"%#[]R0*0R)_7%25G"#PA'XK,HXT".B_=A3^L6
MT?:A:ZWR01>"242SOO;K<!@MWVDQI, #:Y=F$\NBM0+:)TWK:WT\)+YEIJ<B
M9)++\@8C)MTG/ C>"AQ@N.!LAZL -6CP<UV&'-RY:)+%YFL%HQ9D%9@7@+&U
MJY1K(])F2&H1UTG/=\1)$#E.7+'$!4XBGT/Q>EG\CL<2EJK](P"@$O"$SBY#
MZ)4/VLT2V(IAZ9$H$R3" /8%1HE;&"K' )Y&IYZ3-'DNNH1@X)0OF.KSLUB+
M>MJS7,R/%;N.(AW7AJ?LDB1/IUF5N\+>"["!=B+9TB>L@+1J(/% ^=C&RYL=
MAR'>(@ PZOJW!#0T)XSD$N_OE,UD2S9IDWAB_7@D?-ZL^N7Z8J23.>R9IY1S
M(2B[NK)4MX.;R"$1BK&']7))NW/E1H%4#=UHVC5:G&TFC25>F4(9RR/(L=3
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
M*!'"YVPEJ:&F_#;*:EQQ5N,<!UY64>TZ!AILJ^[J$CV';K(]":XHYM*@.CB
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
MHA.<A@C&J"^I1I'#=SG;J4<28U5-KEQ8N'*D-WU'XX)H0&GVLX1S@!7N&2I
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
M<"G DSE*_&0V\^8D$&C68%_20?)ZBLQG<8RXCYOZ ,!WPI4],J8^#N,0LY;
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
M(*[VR2H64W\\&K&!+0R'/:A=[F,Z^!BF@ZU,@] ?C@=L8%4;]B"<SM,\47=
MRQJS]N3+!)SBK?6+A<+#%GB0HX H1QAJ7AYM.5?!8Y4;NT>_E_H3A]7GL\O+
M!OGK KKQ6DX&_XYG=&# +=!SKY;PW!$^#BRP(C&$)'4#%""'4T833@SJ(>K6
MIXD9TX'SC0B"M>D(,RZ]5H>8P*47JERNO)S?%0I@! Q0NB,LBT*E,">5F4Q+
M*]IC<L\R1_;AZ+%C*8M&0N"9BTS;>L(.Y'APL2+Q*+3>KVPK^?9J9A?)<3*=
MJ*$=I0@Q*N8%NQ-X&' Z8H\I:R@#14;$]8H$@6X6D!%DAO"+$;LAM'GB:F"H
M4P0BJ!ODJBD\."2@ H*Q">U_HA0G/*%@G=%Y6+"2,VAUH@<F(4]GVYZ']JG6
MU%0VVPZ\.(,T $R(D?([-A>5,S>--=D<Y WJ_/PC/3N>G;)),'TVZE>2-?Y(
M\-?QQZJ%(2#*T4&E/5,E8ZIO>&,D!6Y((ZKLVS$?5GKV^)6\?48A"DM:V.H:
MC"15;"FG>8DJFE.%@1!(I)98K3(L$KT%!Q>I=[*IIH-J**6JPND*_&0N6H6*
M)>9(-:,WW)10&^$9A'(E;<.8M1A#)'JUJ%S;PM[ZY!/^E 4C=#+X?US;K0U-
MWDX\K+,W;=MG5-^A51/)YS+!<Z?VW,K0'T_'+)CZ03#N9/U:*$*H#4TE2KU_
M-N?1>V\AN"FQM\!"A<XG0K*R9ZXTV:H++$/4Z1K:EYJ:8W:2 $$VBT!QHCZW
MA8B CU,5B\0-M:A9G?2$0JE,+</G'LP&(R0DZ)SHZ3WTO&.S)HSWC\9.-HG;
M-/T(\'Q"J:0S1-R*(I*Z/6J 675\Y)W?8FI$#2*$]GOAJ+EUK;!\(3N,Q[TI
MP,B5U.^?+="T" )LU!L&<+>>$$O<_L3C?/BTSQZWLQ6YO_/]KO4A9Z@BUG:O
MYYGUWDXP00>%)#FS;B)N\9$@.T) 4DM@=^#@ L8#S&$_] P*LXCG$F"OMW;L
MUA!D(J(G2H/6H5 3UZ N3V;VT'X5PC6R\'43$'<[I)6%J7HB?^]UC+QK:6!:
M[Q0A&8+3E8SNZ!9ED"IG=2*UC@@[<\_ 4MLB?#W;6=2D==%^8OC"DL(ET=UM
MY%I160OPQJFH4[;0\KTUA_UH44D.)^^C6DR;"+:X2.43%B2\=Y3L9 ;.@<3P
MW*P]R+YAL6W@A"\,+=@0OV<GQ.^TS6^VRZ"5(.C4RXP.\96=1 0U2N59]PN"
M%K&5G-U.#(:!'_:';#+R@W#*AH.I?W0TK8^RA.UCE+8C=868:X%:39AG3["X
MG$_SF#OM_Q82>D95EZW1NCM^ =VMBS7[T@,=I%I6NX"W94R3E+?5[?ZNPMT!
MM-?V"^X*&2RI_,%TXD\FH];59#SV!U FA^,C**ZG]>=DB@:=U)\#]P+:?6X&
M:WTBM[48ZX[>S_2[%3#6,31)?"D\]\FN!/ZF!U5Q7%4VW@]U97->H? I&!Q_
M2X&;/F_A4D)Y$7D7+AM=$D:_0SA^\@M4</HI^PF3FG=1&FU 4Y1-S(:^0G84
MCOUP/ 8W&?4F0\#W02MR*!W@R]SQ@!0 ,=R#.9 J1JU1$- +01LL3P)_W)^R
MI^1TV'^Y(:W!]P@T:)D%18(;T,BUYCN%<'=">G/^: H4*!Q'O<&4!9"#/A_W
M2B$;Z]JRTLIT\6&MH$/(>O2JXR'SUV1="_(-0</.0M?4M#:Y<GB<"LUD1T?L
M9[OOJ3ON[39#(1 ;J6J?_D+.70GR"=X]A4 ]"F!QTQZTKWU89Z6@FKBP)O$1
MB:R5?*@ ('@3W#3!BKRR([AW/_2/AA-P\'6S;9!UO<:.<0]W2$R:0_3F"19I
M_=[DX9&P>^HG</T]>KM/"9^HM#7G7I=]],"@V#F/;?O%V6'KMX"I*);TBT=L
MSJ#;MS\+K._6/ZH\MK\E;(;;7V2"'$O<\T_$ J:"LD<']HU"]<6HG'Y9.%?&
MJ)0N5X)#.L8!\'RAE*F^((/ZIZ:O_P=02P,$%     @ T(.M6 'H-*UQ"
MY!@  !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&ULO5EK;]LX%OVN7T%X
MBB(!%%N2;=G."W#<3#= FV83=^;#8C\P,FUI(HD>DLIC?_T>DI(L)WZTF<$
M;453Y+V7YY[[$'OZQ,6#C!E3Y#E+<WG6BI5:'G<Z,HI91F6;+UF.-W,N,JKP
M4RPZ<BD8G9E-6=H)/"_L9#3)6^>G9NY&G)_R0J5)SFX$D4664?%RP5+^=-;R
M6]7$;;*(E9[HG)\NZ8+=,?5]>2/PJU-+F249RV7"<R+8_*PU]H\O>GJ]6?!;
MPIYD8TST2>XY?] _KF9G+4\;Q%(6*2V!XO'()BQ-M2"8\6<ILU6KU!N;XTKZ
MK^;L.,L]E6S"T]^3F8K/6L,6F;$Y+5)URY_^Q<KS]+6\B*?2_$N>[-K>H$6B
M0BJ>E9MA09;D]DF?2QP:&X;>E@U!N2$P=EM%QLI/5-'S4\&?B-"K(4T/S%'-
M;AB7Y-HI=TK@;8)]ZOSV\K?+Z^^79'S]B4R^74]OQY,I&4\FW[Y?3Z^N/Y]V
M%)3HI9VH%'AA!09;!';)5YZK6)++?,9FZ_L[,*ZV,*@LO AV"OQ*19MT?9<$
M7M#;(:];G[AKY'6WG9@]LKQ@9"YX1B:P58 90%W%9&+P9H+\9WPOS?Q_-P%@
MY?<VR]=1="R7-&)G+82)9.*1M<X__N*'WLD.ZWNU];U=TM_CKYT"-YM[_6UZ
M24)R1/:H(Q68MRSBBSRQ@9;/5KB.HX@7N4KR!9G&#//9DN8O9,%R)JAB$H'=
M<,><%T@8^"=B\I@<^(?.E$5QSE.^>"%W+U*Q3)Z0@^"0C*](X]53G$0Q221)
M\B@MP#L,B(*^B.>2I\D,JF9$*CR04)0D?$Z0UV !#)9$8W*4X!W9J*Y;FI%$
M-"5WQ7+)A3HQQSSH'>JC2J0 ?<([H)? ]+_/GEIB"6JIJ;T"F$K)E'T?57-I
M0N^3%-[ 1CBDR"/ GC+H=*HU$EB+"GSM!>.__\$J_H@ 4$B\A K\U0M3I&[X
M8^54J_.U#>NJR$J58(9:N7*B(BM2JA/Q1MU B3WCN 80' % +,S9.C VHC+6
MBQEVS[8KHY9QF-,G+)"%1 F]5$>*'^FGD^3+0I&,J9C/W-)=M1TK4NI\;U1I
M <8[VC M07NV$ )O%<<?!68P"=2H-4:B4I*Q(DA>D%QE+^.E3SA!=@^CRMFN
M6QOO[ -2TR>1>@YF:)NL;X#2L7.'>CTK4F8M?.T99Z- YY5];VQS)KL=]H&,
M7&_DN=U^'^.A.PP\-^B'SA?X\)A<5!Y\X[V#H>L/AF[7&Y'#M1_.:U)!@Q^X
M7B_$*.SY[J@W6!'O2X/HD_WLWTC)W313,56&DWKW;BS^"4;*+92LQ/T(+;<!
M)9NY)EIEM4JU4V.V)S37HK@*I76@2EV$+@0K4Z!!6J><G*N?A^P]T?9#1-F5
M6+<A]M-AVI#K;+-D?ZQ>;/7*<E=2^4!\-PA[;M@?-L=E#.])  ?^:.2.!J$.
MXWKH;**82]2JN$I;7*'-T]J&P6JT9?,VK,-@B(PS)*'GN_W0=Z:&]!L]I@\7
MC@*D$,^.P] ->MW- 0$ROD&8/#'PL[G5(X$1.%CK;MCSDFED$8,U5(2FF\UR
M=.N)D/$#DMG.V;1")KR9U((T]FN-PSU-:8[HL9]M>JY-/B62+A!-"]-#:'95
MO5G3LD2NN&A4+ K(U+*P87PW 8SAD>\=]?M'P2AT--;!:&""</9&0<F'MFGR
MQ PBTQ>W#O@8K<,]8WES(VRGU5J3H6!!3E4AF$MHIB/>U:V'?JM5@Z],*'Q9
MJA>GD4H, S2WY[HO:9/?;:NR%/PQ,9+_+"BPM:35B_$;+6@Y 7.BE$OHQ-9_
MKU8>.[X1%=-'9AM1K 3%X*U*<=69.K2]H5,D!]-"Y \,&+!\@1:.Z3P,J_[0
M9#@\<>[;K]K6 S12/$H,+OH#6K'<^$+;+&V?6?,>^Z-2:[,/)0=?\!;IIH0,
MZN:(6W@(:^J8$2PU2@ Y+6:)"1P "N90@MT*'+?E]M#TM<ZLO;&M/;C!B9 ]
M!#RD79DNN !Y,\-T"S\C2:;M N!51PL)26ZO#S1Q2K<7,,[VO;KEMP@>MIW
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
MN-C!P>+ZWZ*^-:>*13DG?X:HZ1+MSC%%]V":XP:W* DG"G3HFK?-UG(II:0
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
M#$"U@Z8UC*R:YIY+8T=%LRWL;$;E$FQ\(6W!&\,=X*=]^@=02P,$%     @
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
M%VQV>L%&QQ=3;'7QKP,,-C?!X(81QL>>V]NOU[=VSEZQVI516]]SU$"[HHE
M$2P5QNGT54_P_.J0;R1+L^E[SJ2:Y;/E6EVW@&L#]7W)E)!BHP?Z\@(7_ -0
M2P,$%     @ T(.M6&YJ-"B;!   WAT  !D   !X;"]W;W)K<VAE971S+W-H
M965T,C@N>&ULM9EM;Z,X$,>_BL6=3KO2;L% GGI)I+90;:7KJFJ[=R]6]\(!
M)T$+F+.=I/WV9P,E@1!K4\V^:7B8^=G^#\PP]73'^ ^QIE2BERS-Q<Q:2UE<
MVK:(UC0CXH(5-%=WEHQG1*I3OK)%P2F)2Z<LM5W'&=H927)K/BVO/?#YE&UD
MFN3T@2.QR3+"7Z]IRG8S"UMO%QZ3U5KJ"_9\6I 5?:+R6_' U9G=4.(DH[E(
M6(XX7<ZL*WP9XHEV*"W^3NA.'!PCO90%8S_TR5T\LQP](YK22&H$43];>D/3
M5)/4//ZKH58SIG8\/'ZCWY:+5XM9$$%O6/I/$LOUS!I;**9+LDGE(]M]H?6"
M!IH7L524?]&NLO6'%HHV0K*L=E8SR)*\^B4OM1 '#M@_X>#6#N[/.GBU@]=U
M&)QP\&L'_V='&-0.Y=+M:NVE< &19#[E;(>XME8T?5"J7WHKO9)</RA/DJN[
MB?*3\R"\?D8? BI)D@KTE7!.=.0^HL_HVU. /OS^<6I+-8ZVMJ.:&51,]P33
M0_<LEVN!PCRF<=O?5O-K)NF^3?+:-0)OZ>(".=XGY#JNWS.?&[/[5<$O$!Z4
M[E[?<LSN]T2Y>_CDZ*'9/:!1X^X9Q/":B'DESS_!>UXG/$8/A,M7%:2[7&PX
MR2.*OC))$4;?[VFVH/S?GHE>&\$Z)5V*@D1T9JF<(RC?4FO^QV]XZ/S9ISDD
M+("$A4"P5G3\)CI^2?=.1.=IS;C\_$QYA@*ZD.C[7\H W4F:B=Z0^) A@80%
MD+ 0"-8*R: )R<#XPN@70Z""O))%2I$JED*2/$[RE:HPJ7YU^N)B1)X;EPHV
M+&&Z<F_GV'='GDHFVT/%C\V<MD5X;.%-)L-Q8]729]CH,S3J$U">;,NL_PG=
M)B\T5DE%4K4LB1Z)[%7'"#Q7G0HV.5SVA3/N: ,Y8@@$:ZD]:M0>&=4N2V/Z
MBI)</8:I^N22 K$E*GB21TE!4J2>376S"D"?]D;\N=J/CI],;^#@COB00X9
ML);XXT;\\?MKIVNLG4;PN;)#P@)(6 @$:T5GTD1G EH[)Y A@80%D+ 0"-8*
M"7;V_8$#7SUKYF%><7WL=\K9C7GH<T6O:8/#05W?ZU22L,_,<4[44'S01^%?
MF]=K?GM>V.U*9IS%V9)!TD(H6CL"[CX"[ON3NV=,[F;RN:D$E!: TD(H6CM&
M^]X5>Z I'H.VK*"T )060M':@=FWK=C8@LT?-CQ:$T%USDJ:5Z=@:1*]]@;&
M/\Y6_F T&7?S%6A/"DH+H6AMR?=M*3;WI0';Y;JPZEJA?I.X5^?CEF_L^R.O
M*S-DOQJ TD(H6EOF?7>+S>UMNS!7E;E7:="F%I06U+3.M\%PTOVT^16-+=YW
MMMC<VAH+L&\NP*!=+2@M *6%4+1VC/8-,![#%F#0OA>4%H#20BA:.S#[WA<;
M^[AW]EF@+3 H+:AIK?\M#;'G#KI)Z]C.Z31C]L'^5D;YJMQ8%"ABFUQ66UW-
MU6;S\JK<LK/WYM7.YSWA*U4)4$J7RM6Y&*F<RJO-Q.I$LJ+<+5LP*5E6'JXI
MB2G7!NK^DJE U2=Z@&9+=_X_4$L#!!0    ( -"#K5A6INOH-P,  .X(   9
M    >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;*U6VV[C-A#]E8%:%+M -[I:
MME-;0"*G;1[L!.ML]Z'H R.-+6$E425I>_/W.R05K9TJ;@KT12*IF<-S#B^C
MV8&++[) 5/"UKAHY=PJEVDO7E5F!-9,7O,6&OFRXJ)FBKMBZLA7(<I-45V[@
M>;%;L[)QDID9NQ?)C.]4539X+T#NZIJ)IVNL^&'N^,[SP,=R6R@]X":SEFUQ
MC>I3>R^HY_8H>5EC(TO>@,#-W+GR+].)CC<!?Y1XD$=MT$H>.?^B.[?YW/$T
M(:PP4QJ!T6N/*5:5!B(:?W>83C^E3CQN/Z/_:K23ED<F,>75YS)7Q=R9.)#C
MANTJ]9$??L=.STCC9;R2Y@F'+M9S(-M)Q>LNF1C496/?[&OGPU%",'HE(>@2
M@K<FA%U":(1:9D;6@BF6S 0_@-#1A*8;QAN336K*1J_B6@GZ6E*>2M*[Y?+V
M87FS>EC#U6H!Z=WJX7;UV\TJO;U9P[L%*E96$C[ >M>V%=+Z*59!V=C]8Y>R
M8@IS4!PJ)$/E>XK^M%[ NQ_?SUQ%'/5,;M;QN;9\@E?XA+#DC2HDW#0YYJ?Y
M+FGK!0;/ J^#LX!+)BX@]'^&P NB 3[IV]/#,W3"WN_0X(6O^<WKNE3:1@FL
MR2$EM66SQ28K4<*BE%G%Y4X@_'GU*)6@7?[7D(EVDFAX$GWR+V7+,IP[=+0E
MBCTZR4\_^+'WRY #_Q/8B1]1[T=T#CVY:U$P[8#=/)!QJ88$6Y38H.B;:9_X
MTU'D>S-W?RQE.,R;]F$G)$<]R=%9DNN""P4*1=VQ3%]A:6%&1]-'P31^P?&?
M06/?BX89QCW#^(TV9DP60-?UANYGV$DZF'14@9_:+(?(QP/>16$\?D%_("R(
M(S\>%C#N!8S/"OAL[EMBR_;$=(N0TU'@NT8!\<8ANA9O>L3#NSA::$OV7X).
MJ$YZJI/_1E6@+I??][#>*$.,S\-.X F9D!!";6] ?P(Y>QI:JO0\TK1#"GJD
M8 #):G>/2D>-8FLJJ@1CO;UD^]&^:%^96O5B_)J*N:V]WV'LGP!=H=NRD63.
MAB"]BS%M?6&KJ^THWIH"]<@5E3O3+.B'!(4.H.\;SM5S1T_0_^(DWP!02P,$
M%     @ T(.M6)"GL.R: P  % T  !D   !X;"]W;W)K<VAE971S+W-H965T
M,S N>&ULK9==CYLX%(;_BD57JU9JAT^#F4V09LAT-]).9M1,MQ=5+QSB)%8!
M9VV3M/]^;6 8AA!2H;U),/@]?MYCX!PF1\:_BQTA$OS(TEQ,C9V4^VO3%,F.
M9%A<L3W)U94-XQF6:LBWIMAS@M>E*$M-Q[)\,\,T-Z))>>Z11Q-6R)3FY)$#
M4609YC]O2<J.4\,VGD]\HMN=U"?,:++'6[(D\O/^D:N1V419TXSD@K(<<+*9
M&C?V=6R[6E#.^(>2HV@= VUEQ=AW/9BOIX:EB4A*$JE#8/5W(#%)4QU)<?Q;
M!S6:-;6P??P<_6-I7IE984%BEGZA:[F;&L@ :[+!12H_L>-?I#8$=;R$I:+\
M!<=ZKF6 I!"29;58$60TK_[QCSH1+8'MG1$XM<#Y58%;"\K,F159:6N&)8XF
MG!T!U[-5-'U0YJ94*S<TU]NXE%Q=I4HGH_CA_G[^='^W>%J"F\4,Q ^+I_GB
MS[M%/+];@K<S(C%-!?@ /A:RX$0CT*S(0$I4[L >_U1;*L4[->'S<@;>_O9N
M8DJ%I8.;28UP6R$X9Q#N,;\"KOT>.);C]<CC8?F,)(W<?2TW53*:C#A-1IPR
MGGLN(RS+J"QM 9RO0<QR2?,MR1-*!)A1D:1,Z%1\O5D)R=5]^*W/<[6(U[^(
M?CBOQ1XG9&JHIT\0?B!&]/L;V[?^Z,O _Q3L53[<)A_N4/3HS*[<5BJ_5.F7
MQ2&"R L<:V(>VNB#P4>B>PVZ=PD=]J%7*MA"#T($H=]!'PP^$ATVZ/ 2NM^'
M#D_0D8V@C3KH@\%'HOL-NG\)/>A#]T_1710BKX,^&'PD>M"@!Y?041]Z<(H.
MU1W3O6$&@X]$1PTZ&D1_VA%5QC>2\#X#Z,2 :R,7!G;'P> :(QV$C8-PV &3
M. 5%OE:O6%;DDJS!9JCH]/D,3Y]L"WF.!3L^!TE&^K2MEYIK#3K]FPAQ#>:9
M6D("M@'/CE69Z2V?UHFK#XX-46!U;\#A=<?Z:O42]B_L8!DZE^" TX)H>ZKG
MY%B;JS>0K5*ZQ;J+Z]W#>I&V72]T( S#KMM!FK%N7_H$>[#L1G'!N?:Y9UQ[
MZ;7BG.Y<@-S0Z[[TZHG^JXE!:*&@F?B:\J5ZV\/E^^%\\M^K4T*H+O.RC]-B
M[]F>#6'WN>J;Z#@H:!6HRH?9:EGU]X)J K<T%XIHHY365:!RQJL6O!I(MB^[
MV!63JB<N#W?JLX5P/4%=WS FGP>Z,6X^A*+_ %!+ P04    " #0@ZU84WN'
M;PL#   _"@  &0   'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6RMEEUOVC 4
MAO^*E4U3)TTDY)-U$*DEW<8D:%7:[6+:A0D'L.K$F>U .^W'STY"!&U(AP07
MQ$[.^YZ<Q_%'?\/X@U@!2/28T%0,C)64V;EIBG@%"18=ED&JGBP83[!47;XT
M1<8!SPM10DW;LGPSP20UPGYQ[X:'?99+2E*XX4CD28+YTR50MAD876-[XY8L
M5U+?,,-^AI<P!7F?W7#5,VN7.4D@%82EB,-B8%QTSZ- QQ<!WPELQ$X;Z4IF
MC#WHSF@^,"S]0D AEMH!J\L:AD"I-E*O\;OR-.J46KC;WKI_+FI7M<RP@"&C
M/\A<K@9&ST!S6."<RENV^0I5/9[VBQD5Q3_:E+&>;: X%Y(EE5B]04+2\HH?
M*PX[ ML_(+ K@?U<<"B#4PF<_Q6XE< MR)2E%!PB+''8YVR#N(Y6;KI1P"S4
MJGR2ZF&?2JZ>$J63X?!Z/![=C:\F=U-T,8G0\'IR-YI\N9H,1U=3=!:!Q(0*
M-,&<8SU"[_NF5&FUV(RK%)=E"OM BF\Y[2#;_X!LR^ZB^VF$SMZ^1POY[DTW
MZ'UJ\!NV^XTQ[R"G6_BY6[\&FZC=)H*XMG&:;4P%LR9JUT3MPM<Y1)0E"9%J
M9DB!<#I'0Y9*DBXAC0D(%!$14R9R#NCGQ4Q(KC[\7TU,RR1N<Q*]&)R+#,<P
M,-1L%\#78(0*J&\U CVE670BLSVX3@W7:7,/+]32AM@"45!S'?UM^XHN2R>O
M<-*KWSIT+?7KF^M=-*WYCD5S(K,]-&Z-QFU'$\=YDE,L88YPPK@D?[!>6IO0
ME$[^+IJ//:MKN<_@-,39/149[,=%#7%.X'0]KX[;*\FK2_):2[I5DPC/**""
MVBO#[;T8;J=AN%L3'CO<)S+;8^/7;/Q6-E.(<T[DD]KD,B:(1!E^THM.$QK_
MQ?#X5@.;UH3'LCF1V1Z;H&83',=FC6D.362"%V2\!C -40UAT:MA93'FSFZM
MCU9J/UN25*@U;:&$5B=0GQ4OCRME1[*LV,!G3*KC0-%<J1,><!V@GB\8D]N.
M/A/49\;P'U!+ P04    " #0@ZU8:+W_W/\"  #W"   &0   'AL+W=O<FMS
M:&5E=',O<VAE970S,BYX;6RM5FMOTS 4_2M60#RDK7GU.=I(ZU;8!-5*NX$0
MXH.;W#;6XCC8[F/_'MM)LPRE84+[DO@ZON><>Z_CZ^&.\7L1 TBTITDJ1E8L
M979FVR*,@6+18AFDZLN*<8JE,OG:%AD''!DGFMB>XW1MBDEJ!4,S-^/!D&UD
M0E*8<20VE&+^,(:$[4:6:QTFYF0=2SUA!\,,KV$!\BZ;<679)4I$**2"L!1Q
M6(VL<_=L['K:P:SX1F G*F.D0UDR=J^-ZVAD.5H1)!!*#8'5:PL7D"0:2>GX
M78!:):=VK(X/Z!]-\"J8)19PP9+O))+QR.I;*((5WB1RSG974 34T7@A2X1Y
MHEVQUK%0N!&2T<)9*: DS=]X7R2BXN!UCCAXA8-)A)T3&9676.)@R-D.<;U:
MH>F!"=5X*W$DU5592*Z^$N4G@\7MS<7GJYLOEY/YXBV:?+V[OOV!WEV"Q"01
MZ!2="U6O3"=0H/?*7L28P^E8Y2%",_R@ZB/1.><X78,>GZ ;LQC]G )= O\U
MM*52J;GLL% TSA5Y1Q3Y:,I2&0LT22.(GOK;*KHR1.\0XMAK!)QBWD*^>X(\
MQVNCU\A&0@<A&J#],GN^@6X?@9[L,[6[5"HD<%H7:K.[CZ@)M4%)NU32?IZ2
M+4NP) F1#W5Z<A#7,2CZC]T&3JO;[0_M;0UYIR3O-)+/B;@_77$ Q+&$.MY.
M':_3:;OUQ-V2N/N\J".R)1&DT5$!.<Z@RE]/W2NI>XW44Y(2NJ&-&[T109^W
M9R+#(8PL=: *X%NP@C>OW*[SH6%#]$M]_49]G]0_*5&DTI%O=Y1Q$M:F)L?I
M5U+CM7KUR1F4Y(/GDL,>>$A$ W\.Y;I/!/CU ESG\5QSFNN#]_^L3S/$?Q;(
MK1R][@N5J !ZDJ-VRV\?29+WJ,![N3H56-6-XK>Z@[\TV)5>1(&O3<<5*&2;
M5.9MJ9PMN_IYWLL>E^=7 G5PKXGJ.PFLE*O3ZJE3A.==-C<DRTQG6S*I^J09
MQNIF EPO4-]7C,F#H0G*NT[P!U!+ P04    " #0@ZU88<>?_/L"  #5!P
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
MA\ZVXJN!LGA>K];Y_&XZOV]-%:@#>4@54@M13:":1+4(U12J:50S!\V9*N2
M":K9\ZN?H@-FE%9/E;*C/'3/^GR2*K>-HR3W#5MNO7.ZH)UE5!.H)E$M0C6%
M:AK5S/!T=N>3XR6TB(QJ]OSJI^B &:75TZ5L%P_/S?]\T@"\Z=0 =/N=\P6M
M&J.:0#6):A&J*533J&90+4:U!-4LJJ6HEE%:/;7*WO(0G>]YB+:442U$-8%J
M$M4B5%.HIE'-H%J,:@FJ651+42VCM'I&E2WEX9GYGM_4 '2CG:,*+2NCFD U
MB6H1JBE4TZAF#EKU;$I+ 1 =,T$U>]$6I.B8&:75HZ4L%P\[EHO=_3^T5(QJ
M(:H)5).H%J&:0C6-:N:@G:OHH)UB5+,7;4&*CIE16BU21F6E>-2Q4GSV8K@;
M[!HKJ!:BFD UB6H1JBE4TZAF#IKKLA4Z8()J]OSJI^B &:75 Z4L%(_<A>(W
M7@QWJYU3!>T3HYI -8EJ$:HI5-.H9D:GTQV?I I:)D8U>W[U4W3 C-+JJ1*4
MJ>)N"#=2Q?N^6&^"Q%MN)S)MG63=[77.$[0NC&H"U22J1:BF4$VCFCGS^17Y
M[</^7\+=U8OC!=?J5=CFQ=>'?.7YHV#[46]]CD",;D"":A;54E3+**T>967]
M>-2Q?MRMU^/6.P<;VD5&-8%J$M4B5%.HIE'-C$ZG6!Y\:#X\ ATR035[R0:D
MZ) 9I=43INPCCYS-Q.N7?UZ>7J+FY5Y.;[W8SB:X??!?]6;/UJ0AVY0WJ!:B
MFD UB6H1JBE4TP>M>A32'VS^-ZQ_NPPZ:HQJ":I95$M1+:.T>BJ5?>:1N\_<
MJ7'H_<U[>6[R3_?+HG@LYFMG']$]>N>T0OO.J"903:):A&H*U32J&52+42U!
M-8MJ*:IEE%;/M+)%/=KW':$^X@CM3*-:B&H"U22J1:BF4$VCFD&U&-425+.H
MEJ):1FGUC"H[TR/W7,^?EXO;HKA;>=^6B\?C@>!N+^RI?B:J-;'0!C6JA:@F
M4$VB6H1JZJ!56R[];7.N6731Z+ &U6)42U#-HEJ*:AFEU<.H+$>/W.7HEH/
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
M7Q?K]>)Q]^-#D=\5R^T+-G_^;;%8'W^Q'>"WQ?+7W6I?_W]02P,$%     @
MT(.M6,J&W,^; @  @@8  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL
MK55;;],P&/TK5D!H2&RY]T8:J4L'3()NZM;Q@'APTZ^--2<NMM,,?CVVDX5V
MRZH]\-+X\IWC<T[J+U'%^+W( "1ZR&DAQE8FY79DVR+-(,?BC&VA4#MKQG,L
MU91O;+'E@%<&E%/;<YR>G6-26'%DUJYY'+%24E+ -4>BS'/,?Y\#9=78<JW'
MA3G99%(OV'&TQ1NX ;G87G,ULUN6%<FA$(05B,-Z;$W<41+J>E-P1Z 2>V.D
MG2P9N]>3R]78<K0@H)!*S8#58P<)4*J)E(Q?#:?5'JF!^^-']D_&N_*RQ (2
M1K^3E<S&UL!"*UCCDLHYJ[Y X\<(3!D5YA=5=6W?L5!:"LGR!JP4Y*2HG_BA
MR6$/X 8O +P&X+T6X#< WQBME1E;4RQQ''%6(:ZK%9L>F&P,6KDAA7Z+-Y*K
M7:)P,IY?W%W,%A=H,INBY&IV.Y\DMVB2)%>+V>WE[#,ZF8+$A ITBA)62*YB
M1U@(D.*]6EK<3-')V_>1+94436BGS;'G];'>"\=^P_P,^>X'Y#E>T %/CL.G
MD+9P_Q!NJP#:%+PV!<_P^2^E #LH2D!KSO)_/BLB,Y28=P <_9@LA5G_V66W
MY@^Z^?55'(DM3F%LJ;LF@._ BM^]<7O.QR[S_XGL( J_C<(_QAXG95Y2K.^6
MNJ0F%:$&*=L4Y ^LNJS7?#W#IYO&+AXZ0\</P\C>[;MZ7C<8J/<7]MJZ \%!
M*S@X*O@K"#%"YX2JC8U C*,4BTQK!F6B4W%-&.XI.1VX_8'O#)](?D7A@>:P
MU1P>#_GP*G5I#)^GZGI.T'NB\'E9+W"'0?^)/GNO0^CNK.[?AA0"45@KH'/6
M5SR\[GCU1+*M:1I+)M7?WPPS]9$ K@O4_IHQ^3C1?:C][,1_ 5!+ P04
M" #0@ZU8Z54/] $#   H"   &0   'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6RM5FMOVC 4_2M6-DV=U#8/D@ =1**AVRIMM*+0?9CVP80+L>K$F6V@W:^?
M[:09CY1.T[X0/^XY/N?:OJ:W8?Q!I  2/68T%WTKE;*XL&V1I)!A<<X*R-7,
M@O$,2]7E2UL4'/#<@#)J>XX3VADFN17US-@MCWIL)2G)X98CL<HRS)\N@;)-
MWW*MYX$Q6:92#]A1K\!+N ,Y+6ZYZMDURYQDD O"<L1AT;<&[D7<UO$FX)[
M1FRUD78R8^Q!=Z[G?<O1@H!"(C4#5I\UQ$"I)E(R?E:<5KVD!FZWG]D_&N_*
MRPP+B!G]1N8R[5L="\UA@5=4CMGF,U1^ LV7,"K,+]J4L>W 0LE*2)958*4@
M(WGYQ8]5'K8 KO\"P*L WM\"6A6@98R6RHRM(98XZG&V05Q'*S;=,+DQ:.6&
MY'H7[R17LT3A9#2^NK\:3:_08#1$\<UH,A[$$S2(XYOI:'(]^H1.AB QH0*=
MH9CEDJNT(TKPC% B"8CW:GQZ-T0G;]_W;*GT:%8[J=:^+-?V7EC[*^;GJ.6>
M(L_Q_ 9X?!P^A*2&MW;AMLI"G0JO3H5G^%HOI0+6D*\ +3C+_IC=$)FBV&P$
M</1],!-F_$>3W9+?;^;7]_%"%#B!OJ4NG "^!BMZ]\8-G0]-YO\3V4XJ6G4J
M6L?8HTM"U=!2()S/;<91@D6J[FP"I) "J=NWRA.6%10DS%%2I4HTI:1<)S3K
MZ(JRCEPO],.@T[/7VVY?C]LQXM=&_*-&OH 0%VK[LA7%NEXH$V:3A7;#ECGY
M!?,FV25KL"7GS.UVN^UP3_;K<3NR@UIV<%1VTU4[11*2-&>4+9^0>!(2LL:,
M!P>27$=ELN/M27\];D=Z6$L/_T&Z/J D 7.@]($1JLJJ ]:D/SS0%7H=[^#
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
MB*C49#>T/IL\NJ05]$M5W9L5-9%7!&P2X&SR(:^Q-$M%-O!['I?1/@8329D
MN"<P5:0*2'&'2DUV ^!.,+I(%?2+3[UH[)LXCA=X)R(2Z"/ Z4,5D:_( ^"S
M:9^8B=P- PYBI@I6C)1[J-1D-P#WL-$%*]8O1'4#%S615P0(PG $.1&TKT@$
MX!-J'YB)Q T#$&*F:E:,E(*HU&0W  6QT34KUJ]%]>*V;X)<N R@A T],:6,
M7:TT #Z%]C$9>7ZJ]0"5L2>H:!^A,D%)#"B)C2Y=,:PD=5C\V54K!L#"<& Y
M$:EC\@#X3-HG92)APP"9F*G*%B.E(RHU^:$_H*-P=&4K[->LN@&K,$&NUQ!@
M)<1AY430GID%P,5U#XA*378%4%)HJHP5DM(0E9KL!J"A<'09*QPN8Z$F\HH
M3$(<3.9%E3PFNT35Q_HJW6R2E6AN4S0R21,S5&JR X"!0E.5JI"4?*C49#<
M^82C*U7X2/7*+.46%<4LY/&6L/70]\!35P-!_(HD CZS]B&;2/N$0%&AJ2I7
M2 I-5&JR&P":PM%5KG"XRH6:R+T!@%\XSB]G!/!K&@B09H"HU&17 51Q4Y4O
M3@I45&JR&P"H^.C*%SY2X[[FBN(8<E]SP"".8] 9X:Z5@\"GTSY9$ZDB#D3&
M317,."F74:G);@ NXZ,+9GRX8(::R"L"1.(X(IT1M6/R$?BLVJ=F(G/$@<2X
MJ?H:)P4M*C79#:UF/Z/K:WRXOH::R"L"YN$X\YP1O&?F)?")M _*1.(H O"*
M3)75(E*HHE*3W0!0%8TNJT7#936%"<8)$4!.A$/.;7UWKJUY*HID$:-!B0MI
MGX:)+%$$>!29JIE%I"!$I2:[ 4 H&ETSBQ0%,66K084AVFLP CZ)<#Y1QV9]
MC0[VVL"%M0_)1-XH BB*3%7,(E+NH5*3W0#<$XVNF$6*A[V4O384AFBOC0AP
M),)QY&2LGODP&"ZO?51&>A"VFA :ZT)(VX;03!_"=B/"5W0B/.MY,)49\O%9
MQVYU(K1Q(CD9LN=^;'%@ NWF4E1R'8^X+8\8:U%HT_8HI)+KN*+5I= >WZ;0
M'JZCJ6R0@J]CMUH4VCBSG S;,76V@<GTS\U$1L>Q6_T+;6,-#&W:#H94<AU7
MM'H8VN.;&!Z&,C2$^S;*]US35B/Y.BI7N_[ZI;7(G[)JWX;]^-UC$__YKG-]
MY_OOFN;^NP;U(+/_GP%NXF*59*6U$8^UI/VFJ606^U[[^Q=5OMVUJ_^:5U6>
M[KY<BW@IBL:@_OECGE??7S03'/_+@]G_ 5!+ P04    " #0@ZU824(@/I0"
M  #2!@  &0   'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6RM55UOFS 4_2L6
MFZ96V@H!0M>.(*6DV_JPM$J:[F':@P,W8-78S':29K]^MJ$H76FT2GL!?]QS
M[CG7^!)ON;B7)8!"#Q5E<N242M7GKBNS$BHL3W@-3.^LN*BPTE-1N+(6@',+
MJJCK>U[D5I@P)XGMVHU(8KY6E#"X$4BNJPJ+W050OATY ^=Q84:*4ID%-XEK
M7, <U**^$7KF=BPYJ8!)PAD2L!HYX\%Y.C3Q-N".P%;NC9%QLN3\WDRN\I'C
M&4% (5.& >O7!E*@U!!I&;]:3J=+:8#[XT?VS]:[]K+$$E).OY-<E2/GHX-R
M6.$U53.^_0JM'RLPXU3:)]HVL9'OH&PM%:]:L%90$=:\\4-;ASW ('P!X+<
M_U\!00L(K-%&F;4UP0HGL>!;)$RT9C,#6QN+UFX(,Z<X5T+O$HU3R>SR[G*Z
MN$3CZ02EU]/;V3B]1>,TO5Y,;Z^F7]#1!!0F5*(I%@*;DA^C#V@QGZ"CM\>Q
MJ[0$0^1F;;J+)IW_0KIO6)R@8/ >^9X?]L#3P_ )9!T\> IWM?'.O=^Y]RU?
M\))[V !; UH)7J&4,R7T9Z5/0)4HM;4'@7Z,E]*N_^RSV_"'_?SF"I[+&F<P
M<O0=DR VX"3OW@PB[U.?^?]$]J0405>*X!![TKFG!"\))8J [#/<L$26Q;2(
M33*(SORST(O=S;Z7OK@H\L.@BWLB,^QDAJ^6B70S0PJRDG'*BQV2.ZF@ZE5_
MD/RUQQ4^L^CUFQMVYH8'S<UU1I)I0YCE*.-,ZEY$6*&[9<8+1GY#WN=I^$R&
M;P[D]*\#.9CZM1^7N]=Q3+?7][H@3"(**TWOG9SJ;*+IH,U$\=HVH257^EK9
M8:E_.B!,@-Y?<:X>)Z:O=;^QY ]02P,$%     @ T(.M6'EOD,@Z @  IP0
M !D   !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL?93;CMHP$(9?Q7*K:E>J
M2 B'=FD2B=.J2%T6P=)>5+TPR4"L3>S4'F#[]K6=D%()N$E\F/_S/\Y,PJ-4
MKSH#0/)6Y$)'-$,L!YZGDPP*IENR!&%VME(5#,U4[3Q=*F"I$Q6Y%_A^WRL8
M%S0.W=I"Q:'<8\X%+!31^Z)@ZL\(<GF,:)N>%I9\EZ%=\.*P9#M8 :[+A3(S
MKZ&DO "AN11$P3:BP_9@U+7Q+N [AZ,^&Q.;R4;*5SN9I1'UK2'((4%+8.9U
M@#'DN049&[]K)FV.M,+S\8G^Z'(WN6R8AK',?_ 4LXA^IB2%+=OGN)3'KU#G
MT[.\1.;:/<FQBNWV*4GV&F51BXV#@HOJS=[J>S@3!,$505 + N>[.LBYG#!D
M<:CDD2@;;6AVX%)U:F.."_M15JC,+C<ZC"?3Q]E\.B'CY_G+<C9:O\R>YV3Q
M;3@G=Q- QG--YDPI9N_N/O30'&F%7E+C1Q4^N(+OD"<I,--D*E)(_]=[QFKC
M-SCY'04W@4],M4BG_9$$?M EZ]6$W+V_O\'M-/?0<=S.%>X2D"LPU89D! *V
M'#7Y.=QH5*9N?EU*O.)U+_-L+PUTR1*(J&D6#>H -/[PKMWWO]QPVVW<=F_1
MXS'3&4G,S2J^V=OJUI<<5HR^8]CF/,2]GO_P$'J'\Z.]L^(I0.U<BVA#WPNL
MZJA9;;IP6!7?O_"JA<W'V7&A20Y;(_5;GWJ4J*HMJ@G*TI7B1J(I;#?,S)\$
ME TP^ULI\32Q!S3_IO@O4$L#!!0    ( -"#K5C*;^@F+P(   <%   9
M>&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;)V4;V_3,!#&OXH5$!K2:-*DZ:"D
MD?IGTY! JQ8*K]WDVEIS[&"[Z>#3<W:RJ!II7_"F\=GW//>S>W9RE.I)[P$,
M>2ZYT%-O;TPU\7V=[Z&D>B K$+BRE:JD!D.U\W6E@!9.5'(_#(*Q7U(FO#1Q
M<RN5)O)@.!.P4D0?RI*JWW/@\CCUAM[+Q"/;[8V=\-.DHCO(P*RKE<+([UP*
M5H+03 JB8#OU9L/)/+;Y+N$'@Z,^&1.[DXV43S;X4DR]P (!A]Q8!XJ?&A;
MN35"C%^MI]>5M,+3\8O[G=L[[F5#-2PD_\D*LY]Z'SU2P)8>N'F4QWMH]^,
M<\FU^R7')C>*/)(?M)%E*T:"DHGF2Y_;<S@1A.$90=@*0L?=%'*42VIHFBAY
M),IFHYL=N*TZ-<(Q8?^4S"A<9:@S:3;[>DL>[L@LRVZ_9^1J"88RKM\GOD%W
MF^/GK=.\<0K/.'VC:D"BX34)@W!$UMF27+U]9>,C7$<8=H2A\XW.$5(.Y&%+
M9EJ#T7U<C7[4K[==/=$5S6'J8=MJ4#5XZ;LWPW'P^0)=U-%%E]S3A10U*,,V
M""FD 6S4'%A-,>Y#;<S&SLS>ESH=CN,@"!*_[H$8=1"CBQ!K04N)$'^@( 73
MN3P(TU>]<8E/JG_X%-W$_<7CKGC\OR=P303T@L3_'D,<C\/7)/Y)7]LG EML
MQX0F'+8H# 8WZ*.::]<$1E:NU3?2X,5QPSV^5*!L JYO)0*V@;T]W=N7_@50
M2P,$%     @ T(.M6,(V9HS8 @  Q0<  !D   !X;"]W;W)K<VAE971S+W-H
M965T-#,N>&ULE95M3]LP$,>_RBE#$TA3XZ2/L#92"T5,&J.B8WMMDFMCD=B9
M[;9,XL//=M+02FFVO8D?XOO?[VS?>;P3\D6EB!I>\XRKB9=J75SYOHI3S*GJ
MB *Y^;,2,J?:#.7:5X5$FCBC//-#0@9^3AGWHK&;6\AH+#8Z8QP7$M0FSZG\
M/<-,["9>X.TG'MDZU7;"C\8%7>,2]5.QD&;DURH)RY$K)CA(7$V\:7 U"X@U
M<"M^,-RI@S[84)Z%>+&#+\G$(Y8(,XRUE:"FV>(U9IE5,AR_*E&O]FD-#_M[
M]5L7O GFF2J\%ME/ENATXHT\2'!%-YE^%+L[K +J6[U89,I]85>N[74]B#=*
MB[PR-@0YXV5+7ZN-.#0@)PS"RB!TW*4C1WE#-8W&4NQ VM5&S79<J,[:P#%N
M3V6II?G+C)V.EM.O<WBXA>ER.?^^A/,;U)1E"KY1*:G=L(NQKXT?N]J/*\U9
MJ1F>T.S"O> Z53#G"2;']K[AJR'#/>0L;!6\I[(#W> 3A"3LP=/R!L[/+N ,
M?% IE:BJIL53M]Z.KO/4/;4=-$-X6,%4*=2J*?32OM=L;W/H2A4TQHEGDD2A
MW*(7??P0#,CG%KI>3==K4X\6DO&8%30#FHL-U_ &9TV,I<K J=BTW$;!H$\(
M&?O;!N_]VGN_U?N#9&O&C7.FU 8A82JV$$T I=#E 0#I!,W>![7W0:OW:\&W
M*%TQ*"2+T<9>7X FAE)N>,1 2+>98EA3#/]"D>>&P*1E_+*_?&\M$*5:_P"B
M;P_BY%F,:HY1^TW8R#@UQ0C$"N)#IIW-6Z[;J4;_27594UVV4LU?4<;,4/W;
M"95BH^,3.G%- O)>T$@KA$MALRW4IO"I#*DTCE*DW[ !_D%ES5&NW?NAP%W\
MLLC6L_4;-2TK\_OR\H$S1<RDCX(,5\:4=(9F_V7Y9I0#+0I7IY^%-E7?=5/S
MSJ*T"\S_E1!Z/[ .ZI<[^@-02P,$%     @ T(.M6+<C?+:! P  *A0  !D
M  !X;"]W;W)K<VAE971S+W-H965T-#0N>&ULK9A=3]LP%(;_BI5-$TB,?+5I
M86TE:#P-::".#G:!=N$FIVU$$@?;;4':CY^=AM"OA!;Y)HV3\SZVWY.<U.XL
M*'OD4P"!GI,XY5UC*D1V;IH\F$)"^"G-()5WQI0E1,@FFY@\8T#"7)3$IF-9
MGIF0*#5ZG?S:@/4Z=";B*(4!0WR6)(2]7$),%UW#-EXOW$:3J5 7S%XG(Q,8
M@KC+!DRVS)(21@FD/*(I8C#N&A?V.;8=)<@C[B-8\)5SI*8RHO11-:["KF&I
M$4$,@5 ((G_FT(<X5B0YCJ<":I1]*N'J^2O]>SYY.9D1X="G\9\H%-.NT390
M"&,RB\4M7?R 8D)-Q0MHS/,C6BQC/<= P8P+FA1B.8(D2I>_Y+DP8D5@NQ4"
MIQ XFX)&A< M!.Z^@D8A:.PK:!:"?.KF<NZY<3X1I-=A=(&8BI8T=9*[GZNE
M7U&J'I2A8/)N)'6B-[R['.)?=_CF-\+W\CA$1SX($L4<W1#&B$KC,?J*[H8^
M.OI\W#&%[%1)S:#HX'+9@5/1P35Y05;K!#F6T]BA[M>K+S)VBERK4N[O(7?<
M2CG>0V[ME)O2Y])LIS3;R7F-*K.!1<"1CP;R;0#&($1#08-']' -R0C8WUWV
MUB)5'3GG&0F@:\A"P8'-P>A]^61[UK==;NN$^3IA6!-L+2]NF1<WI[M5>9F-
M.#S-(!4(S]7QX:>,0%<"$KXS)Z[.G.B$^3IA6!-L+2>-,B>-VG>E3],YL/Q[
M1,>(3XGL8E<JEI1F3E%?Q7FOU>R8\U6#MT/<IK4>XV_'.,X&!]<.^(-V-$L[
MFN_8D232BO?+12WFT$=3)\S7"<.:8&NY\,I<>'K+A:<S)SIAODX8U@1;RTFK
MS$E+2[EH;;_G3<O:J ;][2C;]CROO5$TML-:VS!<._ /VM(N;6G7_^/8>E2+
MTH'^H0_]&ZGM[M!'62?,UPG#FF!K.3LK<W:FM[R<Z<R)3IBO$X8UP=9R8EMO
MZR2K]DVZF$P83(@ E#$: (0[RTL]Y-!<:*7Y6FFXH'F;E?2M^JT;O;(@M>M+
M%HDAK^&J%IW4E/)ZSL%>ZZ3Y6FFXH&U\M2J,?EN,VO6KT95/9L:B '9ZK'7U
MJ97F:Z7A@K;Z/+L;#ILKVRQJ%^V:L$F4<A3#6&JLTY9,$%MN3"T;@F;YSLN(
M"D&3_'0*) 2F N3],:7BM:$V<\KMP=Y_4$L#!!0    ( -"#K5CP$;BU+@,
M .X2   -    >&PO<W1Y;&5S+GAM;-U876O;,!3]*T9=1PNC3N+%C=<DL 4*
M@VT4VH>]%266$X$L>;+2)?OUTY4<YZ.ZI>O#ELXAM72/SKE'TG4M,JS-6K#;
M!6,F6I5"UB.R,*;Z$,?U;,%*6E^HBDF+%$J7U-BNGL=UI1G-:R"5(NYU.FE<
M4B[)>"B7Y75IZFBFEM*,2+\-1?[V.1^1;OJ>1%YNHG(V(O=G;W\LE;EZ$_G[
MR;N3D\[]^=5A_,P!YR0.BO:?(7K1Z>#" &+BZ?/$G]+&I"_WI=WP4RODB:<8
M;1"@V2Q;)G0<.6XV93PLE-SN34)\P*K3DD4/5(S(A H^U1Q8!2VY6/MP#P(S
M)92.C"T*FZX+D?J7A[N^!_72Z)1<*NUR^PS^[[09?@!L>F"0"]$:[!$?& \K
M:@S3\MIVW& 7? 1%3?MN75F'<TW7W5Z?; GN9I-,E<Z9;M-TR28T'@I6@!W-
MYPNX&U7% !JC2MO(.9TK29V'#:-I6-D9$^(6'J;OQ9[VJMC9MP[LFFR;UE#3
M]#*^ _J[:EY[5[;W(MVHX@_*?%K:Z4C7AP)E-YH5?.7ZJZ(U@*EW<75:56+]
M4?"Y+)F?_+,3CH=TPXL62O-?-AN4RLP&F";1 ].&SW8C/S6M[MC*;,II5>">
M>Z_0\]]=YSF33%.Q:]K6_C&O\HL=)Y?_RK+[KW)H..BQ>4,>N\G^:S"9O@:3
MKZ(F!\=O,LF.TF/<O+]W#@E[1X0V&L%1;$2^P<%.;)-&TR47ALNFM^!YSN2C
MDX*5-W1J#_-[^G9\S@JZ%.:N!4=DV_[*<KXLLW;4#2Q$,VK;_@+3ZZ;M.=#F
MXC)G*Y9/FJZ>3UTSL@V;M;F <(A<NRN,8!R/A1' L#R8 XSC65B>_VD^ W0^
M'L.\#8+( .4,4(YGA9")^V!YPIS,7N&99EF2I"FVHI-)T,$$6[<TA6]8#?,&
M#"P/9/JSM<9W&Z^0I^L V].G*@2;*5Z)V$SQM08DO&[ R++P;F-Y@('M E8[
MD#^<!VHJS$D2V%7,&_8$XTB680C48KA&TQ19G10^X?W!GI(DR;(P EC809)@
M"#R-.((Y  \8DB3N/7CP/HHW[ZEX^PO7^#=02P,$%     @ T(.M6)>*NQS
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
M@ZU8!T%-8H$   "Q    $               @ $     9&]C4')O<',O87!P
M+GAM;%!+ 0(4 Q0    ( -"#K5CQQ[D#[P   "L"   1              "
M :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( -"#K5B97)PC$ 8
M )PG   3              "  <T!  !X;"]T:&5M92]T:&5M93$N>&UL4$L!
M A0#%     @ T(.M6 2KN:;?!0  N!\  !@              ("!#@@  'AL
M+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( -"#K5@(H1-WI@@
M *\P   8              " @2,.  !X;"]W;W)K<VAE971S+W-H965T,BYX
M;6Q02P$"% ,4    " #0@ZU89 'SKY4%  #D(P  &               @('_
M%@  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%     @ T(.M6*4.
M_?#;!0  5AT  !@              ("!RAP  'AL+W=O<FMS:&5E=',O<VAE
M970T+GAM;%!+ 0(4 Q0    ( -"#K5@6$"]@U0<  '5    8
M  " @=LB  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    " #0
M@ZU84%NSU&X'   X(@  &               @('F*@  >&PO=V]R:W-H965T
M<R]S:&5E=#8N>&UL4$L! A0#%     @ T(.M6%3T>5]8 @  MP4  !@
M         ("!BC(  'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0
M   ( -"#K5A4H!.Q0@(  ) &   8              " @1@U  !X;"]W;W)K
M<VAE971S+W-H965T."YX;6Q02P$"% ,4    " #0@ZU85))\!R<E  "&;
M&               @(&0-P  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L!
M A0#%     @ T(.M6$]_9605"P  O1P  !D              ("![5P  'AL
M+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    " #0@ZU88P)>M+$#
M  !0"0  &0              @($Y:   >&PO=V]R:W-H965T<R]S:&5E=#$Q
M+GAM;%!+ 0(4 Q0    ( -"#K5@F!8[J# 8  )$-   9              "
M@2%L  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @ T(.M
M6+UW3@>0#P  =CH  !D              ("!9'(  'AL+W=O<FMS:&5E=',O
M<VAE970Q,RYX;6Q02P$"% ,4    " #0@ZU8 >@TK7$(  #D&   &0
M        @($K@@  >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0
M   ( -"#K5BK'T?Y-0,  $P'   9              " @=.*  !X;"]W;W)K
M<VAE971S+W-H965T,34N>&UL4$L! A0#%     @ T(.M6.^!>#]/ @  .04
M !D              ("!/XX  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q0
M2P$"% ,4    " #0@ZU8B+96[BD$  #U"   &0              @('%D
M>&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    ( -"#K5B?&QFT
MD 0  *L*   9              " @265  !X;"]W;W)K<VAE971S+W-H965T
M,3@N>&UL4$L! A0#%     @ T(.M6%^@E]-3)@  *'4  !D
M ("![)D  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    " #0
M@ZU8X//3@90"  #Y!0  &0              @(%VP   >&PO=V]R:W-H965T
M<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( -"#K5@"-.K)SP,  -T(   9
M          " @4'#  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#
M%     @ T(.M6!D9_![S!   ,@\  !D              ("!1\<  'AL+W=O
M<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4    " #0@ZU8K8QJ5]0$  !%
M#@  &0              @(%QS   >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM
M;%!+ 0(4 Q0    ( -"#K5A@8^:O3P(  #T%   9              " @7S1
M  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL4$L! A0#%     @ T(.M6+=0
M$:9W!@  _#   !D              ("! M0  'AL+W=O<FMS:&5E=',O<VAE
M970R-2YX;6Q02P$"% ,4    " #0@ZU86^9D!!P#  #]"0  &0
M    @(&PV@  >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    (
M -"#K5C!ZGH"'P,  ,P-   9              " @0/>  !X;"]W;W)K<VAE
M971S+W-H965T,C<N>&UL4$L! A0#%     @ T(.M6&YJ-"B;!   WAT  !D
M             ("!6>$  'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"
M% ,4    " #0@ZU85J;KZ#<#  #N"   &0              @($KY@  >&PO
M=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0    ( -"#K5B0I[#LF@,
M !0-   9              " @9GI  !X;"]W;W)K<VAE971S+W-H965T,S N
M>&UL4$L! A0#%     @ T(.M6%-[AV\+ P  /PH  !D              ("!
M:NT  'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q02P$"% ,4    " #0@ZU8
M:+W_W/\"  #W"   &0              @(&L\   >&PO=V]R:W-H965T<R]S
M:&5E=#,R+GAM;%!+ 0(4 Q0    ( -"#K5AAQY_\^P(  -4'   9
M      " @>+S  !X;"]W;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%
M  @ T(.M6"V":7?T!   M!@  !D              ("!%/<  'AL+W=O<FMS
M:&5E=',O<VAE970S-"YX;6Q02P$"% ,4    " #0@ZU80JC&:H<$  #E%0
M&0              @($__   >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+
M 0(4 Q0    ( -"#K5@'<,6V<B   &95 @ 9              " @?T  0!X
M;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L! A0#%     @ T(.M6,J&W,^;
M @  @@8  !D              ("!IB$! 'AL+W=O<FMS:&5E=',O<VAE970S
M-RYX;6Q02P$"% ,4    " #0@ZU8Z54/] $#   H"   &0
M@(%X) $ >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( -"#
MK5@D]U#RX0D  /Y@   9              " @; G 0!X;"]W;W)K<VAE971S
M+W-H965T,SDN>&UL4$L! A0#%     @ T(.M6$E"(#Z4 @  T@8  !D
M         ("!R#$! 'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4
M    " #0@ZU8>6^0R#H"  "G!   &0              @(&3- $ >&PO=V]R
M:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    ( -"#K5C*;^@F+P(   <%
M   9              " @00W 0!X;"]W;W)K<VAE971S+W-H965T-#(N>&UL
M4$L! A0#%     @ T(.M6,(V9HS8 @  Q0<  !D              ("!:CD!
M 'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q02P$"% ,4    " #0@ZU8MR-\
MMH$#   J%   &0              @(%Y/ $ >&PO=V]R:W-H965T<R]S:&5E
M=#0T+GAM;%!+ 0(4 Q0    ( -"#K5CP$;BU+@,  .X2   -
M  "  3%  0!X;"]S='EL97,N>&UL4$L! A0#%     @ T(.M6)>*NQS
M$P(   L              ( !BD,! %]R96QS+RYR96QS4$L! A0#%     @
MT(.M6'S^>GC_ P  @AT   \              ( !<T0! 'AL+W=O<FMB;V]K
M+GAM;%!+ 0(4 Q0    ( -"#K5A''&"YI $  )L:   :              "
M 9]( 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( -"#
MK5@NTOC K@$  ,H:   3              "  7M* 0!;0V]N=&5N=%]4>7!E
<<UTN>&UL4$L%!@     T #0 (PX  %I, 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<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>58
<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>60
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.1.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>232</ContextCount>
  <ElementCount>279</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>56</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="duos_10q-033124.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="duos_10q-033124.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="duos_10q-033124.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="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StatementsOfChangesInStockholdersEquity</Role>
      <ShortName>STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.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>7</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.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>8</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995512 - 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>9</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995513 - Disclosure - LIQUIDITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/Liquidity</Role>
      <ShortName>LIQUIDITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995514 - Disclosure - DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/Debt</Role>
      <ShortName>DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995515 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995516 - Disclosure - STOCKHOLDERS??? EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquity</Role>
      <ShortName>STOCKHOLDERS??? EQUITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995517 - Disclosure - REVENUE AND CONTRACT ACCOUNTING</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenueAndContractAccounting</Role>
      <ShortName>REVENUE AND CONTRACT ACCOUNTING</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995518 - Disclosure - DEFINED CONTRIBUTION PLAN</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DefinedContributionPlan</Role>
      <ShortName>DEFINED CONTRIBUTION PLAN</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995519 - Disclosure - RELATED PARTY TRANSACTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RelatedPartyTransactions</Role>
      <ShortName>RELATED PARTY TRANSACTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995520 - Disclosure - SALE OF ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SaleOfAssets</Role>
      <ShortName>SALE OF ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995521 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995522 - 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>19</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995523 - 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>20</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995524 - 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>21</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995525 - Disclosure - STOCKHOLDERS??? EQUITY (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquityTables</Role>
      <ShortName>STOCKHOLDERS??? EQUITY (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/StockholdersEquity</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995526 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenueAndContractAccountingTables</Role>
      <ShortName>REVENUE AND CONTRACT ACCOUNTING (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenueAndContractAccounting</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995527 - 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>24</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995528 - 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>25</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995529 - 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>26</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995530 - Disclosure - DEBT (Details - Notes payable financing agreements)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements</Role>
      <ShortName>DEBT (Details - Notes payable financing agreements)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/DebtTables</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995531 - 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>28</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995532 - 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>29</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995533 - 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>30</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995534 - 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>31</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995535 - Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquityDetails-Assumptions</Role>
      <ShortName>STOCKHOLDERS' EQUITY (Details - Assumptions )</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995536 - Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan</Role>
      <ShortName>STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995537 - Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions</Role>
      <ShortName>STOCKHOLDERS' EQUITY (Details - Non plan options)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995538 - Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquityDetails-Warrants</Role>
      <ShortName>STOCKHOLDERS' EQUITY (Details - Warrants)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995539 - 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/StockholdersEquityTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995540 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets</Role>
      <ShortName>REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenueAndContractAccountingTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995541 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities</Role>
      <ShortName>REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenueAndContractAccountingTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995542 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue</Role>
      <ShortName>REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenueAndContractAccountingTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995543 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative</Role>
      <ShortName>REVENUE AND CONTRACT ACCOUNTING (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenueAndContractAccountingTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995544 - 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>41</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995545 - 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>42</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995546 - 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>43</Position>
    </Report>
    <Report instance="duos_10q-033124.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995547 - 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>44</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="duos_10q-033124.htm">duos_10q-033124.htm</File>
    <File>duot-20240331.xsd</File>
    <File>duot-20240331_cal.xml</File>
    <File>duot-20240331_def.xml</File>
    <File>duot-20240331_lab.xml</File>
    <File>duot-20240331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="684">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="30">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>62
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "duos_10q-033124.htm": {
   "nsprefix": "duot",
   "nsuri": "http://duostechnologies/20240331",
   "dts": {
    "inline": {
     "local": [
      "duos_10q-033124.htm"
     ]
    },
    "schema": {
     "local": [
      "duot-20240331.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-20240331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "duot-20240331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "duot-20240331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "duot-20240331_pre.xml"
     ]
    }
   },
   "keyStandard": 218,
   "keyCustom": 61,
   "axisStandard": 18,
   "axisCustom": 0,
   "memberStandard": 19,
   "memberCustom": 35,
   "hidden": {
    "total": 86,
    "http://duostechnologies/20240331": 15,
    "http://fasb.org/us-gaap/2023": 66,
    "http://xbrl.sec.gov/dei/2023": 5
   },
   "contextCount": 232,
   "entityCount": 1,
   "segmentCount": 56,
   "elementCount": 523,
   "unitCount": 5,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 684,
    "http://xbrl.sec.gov/dei/2023": 30,
    "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": "From2024-01-01to2024-03-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.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": "AsOf2024-03-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.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": "AsOf2024-03-31",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
     "longName": "00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
     "longName": "00000005 - Statement - STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited)",
     "shortName": "STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_custom_PreferredStockDMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31_custom_PreferredStockDMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows",
     "longName": "00000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DepreciationAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R7": {
     "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": "7",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "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": "8",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies",
     "longName": "995512 - 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": "9",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://duostechnologies/role/Liquidity",
     "longName": "995513 - Disclosure - LIQUIDITY",
     "shortName": "LIQUIDITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://duostechnologies/role/Debt",
     "longName": "995514 - Disclosure - DEBT",
     "shortName": "DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://duostechnologies/role/CommitmentsAndContingencies",
     "longName": "995515 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://duostechnologies/role/StockholdersEquity",
     "longName": "995516 - Disclosure - STOCKHOLDERS\u2019 EQUITY",
     "shortName": "STOCKHOLDERS\u2019 EQUITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://duostechnologies/role/RevenueAndContractAccounting",
     "longName": "995517 - Disclosure - REVENUE AND CONTRACT ACCOUNTING",
     "shortName": "REVENUE AND CONTRACT ACCOUNTING",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://duostechnologies/role/DefinedContributionPlan",
     "longName": "995518 - Disclosure - DEFINED CONTRIBUTION PLAN",
     "shortName": "DEFINED CONTRIBUTION PLAN",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DefinedContributionPlanTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DefinedContributionPlanTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://duostechnologies/role/RelatedPartyTransactions",
     "longName": "995519 - Disclosure - RELATED PARTY TRANSACTIONS",
     "shortName": "RELATED PARTY TRANSACTIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://duostechnologies/role/SaleOfAssets",
     "longName": "995520 - Disclosure - SALE OF ASSETS",
     "shortName": "SALE OF ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:SaleOfAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:SaleOfAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://duostechnologies/role/SubsequentEvents",
     "longName": "995521 - Disclosure - SUBSEQUENT EVENTS",
     "shortName": "SUBSEQUENT EVENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995522 - 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": "19",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:NatureOfOperationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:NatureOfOperationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://duostechnologies/role/DebtTables",
     "longName": "995523 - Disclosure - DEBT (Tables)",
     "shortName": "DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesTables",
     "longName": "995524 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://duostechnologies/role/StockholdersEquityTables",
     "longName": "995525 - Disclosure - STOCKHOLDERS\u2019 EQUITY (Tables)",
     "shortName": "STOCKHOLDERS\u2019 EQUITY (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://duostechnologies/role/RevenueAndContractAccountingTables",
     "longName": "995526 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Tables)",
     "shortName": "REVENUE AND CONTRACT ACCOUNTING (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://duostechnologies/role/SaleOfAssetsTables",
     "longName": "995527 - Disclosure - SALE OF ASSETS (Tables)",
     "shortName": "SALE OF ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:ScheduleOfNoteReceivableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:ScheduleOfNoteReceivableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
     "longName": "995528 - 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": "25",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-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": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-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": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://duostechnologies/role/LiquidityDetailsNarrative",
     "longName": "995529 - Disclosure - LIQUIDITY (Details Narrative)",
     "shortName": "LIQUIDITY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements",
     "longName": "995530 - Disclosure - DEBT (Details - Notes payable financing agreements)",
     "shortName": "DEBT (Details - Notes payable financing agreements)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "27",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:OtherNotesPayableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31_custom_ThirdPartyInsuranceNoteOneMember",
      "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": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R28": {
     "role": "http://duostechnologies/role/DebtDetailsNarrative",
     "longName": "995531 - Disclosure - DEBT (Details Narrative)",
     "shortName": "DEBT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "AsOf2023-04-15_custom_ThirdPartyInsuranceNoteOneMember",
      "name": "us-gaap:NotesPayable",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-04-15_custom_ThirdPartyInsuranceNoteOneMember",
      "name": "us-gaap:NotesPayable",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases",
     "longName": "995532 - 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": "29",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments",
     "longName": "995533 - 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": "30",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative",
     "longName": "995534 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2021-07-252021-07-26",
      "name": "duot:AreaOfLease",
      "unitRef": "sqft",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.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",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://duostechnologies/role/StockholdersEquityDetails-Assumptions",
     "longName": "995535 - Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )",
     "shortName": "STOCKHOLDERS' EQUITY (Details - Assumptions )",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan",
     "longName": "995536 - Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)",
     "shortName": "STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "duot:CashPaymentReceivedFromEmployeeWithholdings",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "duot:CashPaymentReceivedFromEmployeeWithholdings",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
     "longName": "995537 - Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)",
     "shortName": "STOCKHOLDERS' EQUITY (Details - Non plan options)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_EmployeeStockOptionMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember",
      "name": "duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R35": {
     "role": "http://duostechnologies/role/StockholdersEquityDetails-Warrants",
     "longName": "995538 - Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)",
     "shortName": "STOCKHOLDERS' EQUITY (Details - Warrants)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_WarrantMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_us-gaap_WarrantMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R36": {
     "role": "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
     "longName": "995539 - Disclosure - STOCKHOLDERS\u2019 EQUITY (Details Narrative)",
     "shortName": "STOCKHOLDERS\u2019 EQUITY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "duot:PreferredStockSharesAvailableToBeDesignated",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.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": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R37": {
     "role": "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets",
     "longName": "995540 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)",
     "shortName": "REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "duot:CumulativeRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "duot:CumulativeRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities",
     "longName": "995541 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)",
     "shortName": "REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-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": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-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": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue",
     "longName": "995542 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)",
     "shortName": "REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative",
     "longName": "995543 - Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details Narrative)",
     "shortName": "REVENUE AND CONTRACT ACCOUNTING (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:ContractLiabilitiesForTechnologiesSystems",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "b",
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://duostechnologies/role/DefinedContributionPlanDetailsNarrative",
     "longName": "995544 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)",
     "shortName": "DEFINED CONTRIBUTION PLAN (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DefinedContributionPlanTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DefinedContributionPlanTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://duostechnologies/role/SaleOfAssetsDetails",
     "longName": "995545 - Disclosure - SALE OF ASSETS (Details)",
     "shortName": "SALE OF ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-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": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-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": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://duostechnologies/role/SaleOfAssetsDetailsNarrative",
     "longName": "995546 - Disclosure - SALE OF ASSETS (Details Narrative)",
     "shortName": "SALE OF ASSETS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:PrincipalAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "duot:PrincipalAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://duostechnologies/role/SubsequentEventsDetailsNarrative",
     "longName": "995547 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)",
     "shortName": "SUBSEQUENT EVENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2024-05-062024-05-07_us-gaap_SeriesDPreferredStockMember",
      "name": "us-gaap:ConversionOfStockSharesConverted1",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-05-062024-05-07_us-gaap_SeriesDPreferredStockMember",
      "name": "us-gaap:ConversionOfStockSharesConverted1",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duos_10q-033124.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "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": [
      "r13",
      "r571"
     ]
    },
    "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": [
      "r532"
     ]
    },
    "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": [
      "r204",
      "r205"
     ]
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liability",
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r16"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r138",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r138",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363"
     ]
    },
    "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": [
      "r633"
     ]
    },
    "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": [
      "r73"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "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": [
      "r332",
      "r333",
      "r334",
      "r437",
      "r690",
      "r691",
      "r692",
      "r733",
      "r751"
     ]
    },
    "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": [
      "r639"
     ]
    },
    "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": [
      "r639"
     ]
    },
    "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": [
      "r639"
     ]
    },
    "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": [
      "r639"
     ]
    },
    "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": [
      "r603",
      "r615",
      "r625",
      "r650"
     ]
    },
    "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": [
      "r606",
      "r618",
      "r628",
      "r653"
     ]
    },
    "duot_AlgorithmsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "AlgorithmsMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r639"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r646"
     ]
    },
    "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": [
      "r610",
      "r619",
      "r629",
      "r646",
      "r654",
      "r658",
      "r666"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "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": [
      "r331",
      "r335"
     ]
    },
    "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": []
    },
    "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": [
      "r611"
     ]
    },
    "duot_AreaOfLease": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r339"
     ]
    },
    "duot_ArtificialIntelligenceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ArtificialIntelligenceMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r104",
      "r128",
      "r151",
      "r178",
      "r192",
      "r198",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r341",
      "r345",
      "r357",
      "r392",
      "r476",
      "r571",
      "r584",
      "r700",
      "r701",
      "r737"
     ]
    },
    "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": [
      "r124",
      "r134",
      "r151",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r341",
      "r345",
      "r357",
      "r571",
      "r700",
      "r701",
      "r737"
     ]
    },
    "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": [
      "r611"
     ]
    },
    "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": [
      "r661"
     ]
    },
    "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": [
      "r662"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r657"
     ]
    },
    "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": [
      "r657"
     ]
    },
    "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": [
      "r657"
     ]
    },
    "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": [
      "r657"
     ]
    },
    "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": [
      "r657"
     ]
    },
    "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": [
      "r657"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions",
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "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": [
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330"
     ]
    },
    "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": [
      "r660"
     ]
    },
    "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": [
      "r659"
     ]
    },
    "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": [
      "r658"
     ]
    },
    "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": [
      "r658"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation",
        "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/20240331",
     "localname": "BillingsAndorCashReceiptsOnUncompletedContracts",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "duot_ContractLiabilitiesTechnologiesSystems",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billings and/or cash receipts on uncompleted contracts"
       }
      }
     },
     "auth_ref": []
    },
    "duot_BillingsOrCashReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "BillingsOrCashReceived",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets": {
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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_CallOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CallOptionMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Call Option [Member]",
        "documentation": "Financial contract between two parties, the buyer and the seller of the option, where the buyer has the right but not the obligation to buy an agreed quantity of a particular commodity or financial instrument (the underlying instrument) from the seller of the option for a certain price (the strike price). Seller is obligated to sell the asset to the buyer, if the buyer exercises the option."
       }
      }
     },
     "auth_ref": [
      "r520",
      "r521"
     ]
    },
    "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": []
    },
    "duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r112",
      "r394",
      "r448",
      "r471",
      "r571",
      "r584",
      "r680"
     ]
    },
    "duot_CashAndEsppEmployeeWithholdingLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CashAndEsppEmployeeWithholdingLiability",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and ESPP employee withholding liability"
       }
      }
     },
     "auth_ref": []
    },
    "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 period",
        "periodEndLabel": "Cash, end of period",
        "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": [
      "r25",
      "r85",
      "r148"
     ]
    },
    "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",
      "r85"
     ]
    },
    "duot_CashFromEmployeeWithholdingsUsedToPurchaseEsppShares": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CashFromEmployeeWithholdingsUsedToPurchaseEsppShares",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash from employee withholdings used to purchase ESPP shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash from employee withholdings used to purchase shares under ESPP"
       }
      }
     },
     "auth_ref": []
    },
    "duot_CashPaymentReceivedFromEmployeeWithholdings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CashPaymentReceivedFromEmployeeWithholdings",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash payment received from employee withholdings"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r637"
     ]
    },
    "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": [
      "r120",
      "r129",
      "r130",
      "r131",
      "r151",
      "r167",
      "r168",
      "r170",
      "r172",
      "r175",
      "r176",
      "r209",
      "r233",
      "r235",
      "r236",
      "r237",
      "r240",
      "r241",
      "r255",
      "r256",
      "r260",
      "r263",
      "r270",
      "r357",
      "r428",
      "r429",
      "r430",
      "r431",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r449",
      "r463",
      "r485",
      "r506",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r675",
      "r688",
      "r693"
     ]
    },
    "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": [
      "r129",
      "r130",
      "r131",
      "r175",
      "r255",
      "r256",
      "r258",
      "r260",
      "r263",
      "r268",
      "r270",
      "r428",
      "r429",
      "r430",
      "r431",
      "r556",
      "r675",
      "r688"
     ]
    },
    "us-gaap_ClassOfWarrantOrRightOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfWarrantOrRightOutstanding",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding warrants",
        "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": [
      "r638"
     ]
    },
    "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": [
      "r638"
     ]
    },
    "duot_CommercialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CommercialMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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 4)",
        "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": [
      "r20",
      "r66",
      "r393",
      "r462"
     ]
    },
    "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": [
      "r92",
      "r227",
      "r228",
      "r533",
      "r697"
     ]
    },
    "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": [
      "r21"
     ]
    },
    "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_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
      "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": [
      "r574",
      "r575",
      "r576",
      "r578",
      "r579",
      "r580",
      "r581",
      "r690",
      "r691",
      "r733",
      "r749",
      "r751"
     ]
    },
    "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": [
      "r72"
     ]
    },
    "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": [
      "r72",
      "r463"
     ]
    },
    "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": [
      "r72"
     ]
    },
    "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",
      "r72",
      "r463",
      "r482",
      "r751",
      "r752"
     ]
    },
    "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,315,318 and 7,306,663 shares issued, 7,313,994 and 7,305,339 shares outstanding at March 31, 2024 and December 31, 2023, 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": [
      "r72",
      "r396",
      "r571"
     ]
    },
    "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": [
      "r643"
     ]
    },
    "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": [
      "r642"
     ]
    },
    "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": [
      "r644"
     ]
    },
    "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": [
      "r641"
     ]
    },
    "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_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": [
      "r32",
      "r34",
      "r61",
      "r62",
      "r203",
      "r532"
     ]
    },
    "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": [
      "r32",
      "r34",
      "r61",
      "r62",
      "r203",
      "r426",
      "r532"
     ]
    },
    "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": [
      "r32",
      "r34",
      "r61",
      "r62",
      "r203",
      "r532",
      "r677"
     ]
    },
    "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": [
      "r68",
      "r116"
     ]
    },
    "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": [
      "r32",
      "r34",
      "r61",
      "r62",
      "r203"
     ]
    },
    "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": [
      "r32",
      "r34",
      "r61",
      "r62",
      "r203",
      "r532"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r549"
     ]
    },
    "duot_ContractLiabilitiesForTechnologiesSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ContractLiabilitiesForTechnologiesSystems",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities for technology systems"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ContractLiabilitiesServicesAndConsulting": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ContractLiabilitiesServicesAndConsulting",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities, services and consulting"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ContractLiabilitiesTechnologiesSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ContractLiabilitiesTechnologiesSystems",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Contract liabilities, technology systems",
        "label": "ContractLiabilitiesTechnologiesSystems"
       }
      }
     },
     "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/RevenueAndContractAccountingDetails-ContractAssets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r273",
      "r275",
      "r294"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r273",
      "r274",
      "r294"
     ]
    },
    "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": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative"
     ],
     "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": [
      "r273",
      "r274",
      "r294"
     ]
    },
    "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 shares converted",
        "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": [
      "r27",
      "r28",
      "r29"
     ]
    },
    "duot_ConversionOfStockSharesConverted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ConversionOfStockSharesConverted",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common shares issuable upon conversion"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConversionOfStockSharesConverted1": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConversionOfStockSharesConverted1",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Conversion of stock shares converted",
        "label": "Conversion of shares",
        "documentation": "The number of shares 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": [
      "r27",
      "r28",
      "r29"
     ]
    },
    "us-gaap_ConversionOfStockSharesIssued1": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConversionOfStockSharesIssued1",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of warrants, 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": [
      "r27",
      "r28",
      "r29"
     ]
    },
    "duot_ConvertibleNoteReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/20240331",
     "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/20240331",
     "localname": "ConvertibleSeriesAPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series A Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesBPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesCPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/20240331",
     "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/20240331",
     "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/20240331",
     "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": []
    },
    "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": [
      "r80",
      "r151",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r357",
      "r700"
     ]
    },
    "duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of contract assets on uncompleted contracts"
       }
      }
     },
     "auth_ref": []
    },
    "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": []
    },
    "duot_CumulativeRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CumulativeRevenueRecognized",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets": {
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative revenues recognized"
       }
      }
     },
     "auth_ref": []
    },
    "duot_CumulativeRevenuesRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "CumulativeRevenuesRecognized",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "duot_ContractLiabilitiesTechnologiesSystems",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Cumulative revenues recognized",
        "label": "CumulativeRevenuesRecognized"
       }
      }
     },
     "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/20240331",
     "localname": "Customer1Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 1 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_Customer2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "Customer2Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 2 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_Customer3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "Customer3Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 3 [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": [
      "r33",
      "r203"
     ]
    },
    "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": [
      "r93",
      "r149",
      "r242",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253"
     ]
    },
    "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": [
      "r94",
      "r243"
     ]
    },
    "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 instalments of principal and interest",
        "documentation": "Amount of the required periodic payments including both interest and principal payments."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r67"
     ]
    },
    "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": [
      "r63",
      "r65",
      "r703"
     ]
    },
    "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": [
      "r296",
      "r298",
      "r299",
      "r564",
      "r565"
     ]
    },
    "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": [
      "r300",
      "r301"
     ]
    },
    "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",
      "r40"
     ]
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeFixedInterestRate",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Fixed Interest Rate",
        "documentation": "Fixed interest rate related to the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r293",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r293",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingTables"
     ],
     "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": [
      "r705"
     ]
    },
    "duot_DisclosureSaleOfAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r598"
     ]
    },
    "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": [
      "r596",
      "r598",
      "r611"
     ]
    },
    "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": [
      "r597"
     ]
    },
    "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": [
      "r585"
     ]
    },
    "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": [
      "r598"
     ]
    },
    "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": [
      "r598"
     ]
    },
    "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": [
      "r632"
     ]
    },
    "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": [
      "r588"
     ]
    },
    "duot_DownPaymentPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "DownPaymentPaid",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Down payment paid"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic Net Loss Per Share",
        "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": [
      "r142",
      "r157",
      "r158",
      "r159",
      "r160",
      "r161",
      "r165",
      "r167",
      "r170",
      "r171",
      "r172",
      "r173",
      "r355",
      "r356",
      "r388",
      "r402",
      "r551"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted Net Loss Per Share",
        "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": [
      "r142",
      "r157",
      "r158",
      "r159",
      "r160",
      "r161",
      "r167",
      "r170",
      "r171",
      "r172",
      "r173",
      "r355",
      "r356",
      "r388",
      "r402",
      "r551"
     ]
    },
    "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": [
      "r30",
      "r31"
     ]
    },
    "us-gaap_EmployeeBenefitsAndShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeBenefitsAndShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock based compensation expense",
        "documentation": "Amount of expense for employee benefit and equity-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total compensation cost for stock options"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions",
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "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": []
    },
    "duot_EmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/20240331",
     "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": [
      "r591"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r674"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r671"
     ]
    },
    "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": [
      "r611"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r587"
     ]
    },
    "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": [
      "r672"
     ]
    },
    "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/StatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "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",
      "r121",
      "r137",
      "r138",
      "r139",
      "r152",
      "r153",
      "r154",
      "r156",
      "r162",
      "r164",
      "r174",
      "r210",
      "r211",
      "r272",
      "r332",
      "r333",
      "r334",
      "r337",
      "r338",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r354",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r374",
      "r421",
      "r422",
      "r423",
      "r437",
      "r506"
     ]
    },
    "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": [
      "r640"
     ]
    },
    "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": [
      "r603",
      "r615",
      "r625",
      "r650"
     ]
    },
    "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": [
      "r600",
      "r612",
      "r622",
      "r647"
     ]
    },
    "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": [
      "r646"
     ]
    },
    "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": []
    },
    "duot_FairMarketValuePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "FairMarketValuePercentage",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair market value percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of black scholes option pricing model",
        "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "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": []
    },
    "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": [
      "r607",
      "r619",
      "r629",
      "r654"
     ]
    },
    "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": [
      "r607",
      "r619",
      "r629",
      "r654"
     ]
    },
    "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": [
      "r607",
      "r619",
      "r629",
      "r654"
     ]
    },
    "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": [
      "r607",
      "r619",
      "r629",
      "r654"
     ]
    },
    "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": [
      "r607",
      "r619",
      "r629",
      "r654"
     ]
    },
    "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": [
      "r687"
     ]
    },
    "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": [
      "r81",
      "r487"
     ]
    },
    "duot_GoodsTransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "GoodsTransferredOverTimeMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goods Transferred Over Time [Member]",
        "documentation": "Goods transferred over time [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_GovernmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "GovernmentsMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r79",
      "r151",
      "r178",
      "r191",
      "r197",
      "r199",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r357",
      "r553",
      "r700"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "auth_ref": []
    },
    "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": [
      "r26"
     ]
    },
    "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": 11.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": 12.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": [
      "r686"
     ]
    },
    "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": 14.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": [
      "r385",
      "r686"
     ]
    },
    "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/20240331",
     "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": 13.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": [
      "r678",
      "r686"
     ]
    },
    "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": 10.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"
     ]
    },
    "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": [
      "r610",
      "r619",
      "r629",
      "r646",
      "r654",
      "r658",
      "r666"
     ]
    },
    "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": [
      "r664"
     ]
    },
    "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": [
      "r599",
      "r670"
     ]
    },
    "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": [
      "r599",
      "r670"
     ]
    },
    "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": [
      "r599",
      "r670"
     ]
    },
    "duot_InsuranceMonthlyInstallments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "InsuranceMonthlyInstallments",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Monthly installments"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r38",
      "r39"
     ]
    },
    "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": [
      "r64",
      "r108",
      "r140",
      "r182",
      "r365",
      "r491",
      "r582",
      "r750"
     ]
    },
    "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": [
      "r143",
      "r146",
      "r147"
     ]
    },
    "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": [
      "r133",
      "r548",
      "r571"
     ]
    },
    "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": [
      "r113",
      "r126",
      "r132",
      "r212",
      "r213",
      "r214",
      "r386",
      "r550"
     ]
    },
    "duot_IssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "IssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Stock issuance cost",
        "label": "IssuanceCosts"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r368"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "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": [
      "r373"
     ]
    },
    "duot_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour",
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "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": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "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": [
      "r373"
     ]
    },
    "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": 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 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": [
      "r373"
     ]
    },
    "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": 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 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": [
      "r373"
     ]
    },
    "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": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "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": [
      "r373"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "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": {
        "label": "2024",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r735"
     ]
    },
    "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": [
      "r373"
     ]
    },
    "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": [
      "r15",
      "r151",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r342",
      "r345",
      "r346",
      "r357",
      "r461",
      "r552",
      "r584",
      "r700",
      "r737",
      "r738"
     ]
    },
    "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": [
      "r77",
      "r106",
      "r398",
      "r571",
      "r689",
      "r695",
      "r734"
     ]
    },
    "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": [
      "r17",
      "r125",
      "r151",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r342",
      "r345",
      "r346",
      "r357",
      "r571",
      "r700",
      "r737",
      "r738"
     ]
    },
    "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": []
    },
    "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-NotesPayableFinancingAgreements"
     ],
     "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": [
      "r18"
     ]
    },
    "duot_MaintenanceAndSupportMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "MaintenanceAndSupportMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r203",
      "r559",
      "r705",
      "r747",
      "r748"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r232",
      "r302",
      "r384",
      "r420",
      "r453",
      "r454",
      "r513",
      "r515",
      "r517",
      "r518",
      "r523",
      "r543",
      "r544",
      "r554",
      "r556",
      "r566",
      "r573",
      "r702",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744"
     ]
    },
    "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": [
      "r638"
     ]
    },
    "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": [
      "r638"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r232",
      "r302",
      "r384",
      "r420",
      "r453",
      "r454",
      "r513",
      "r515",
      "r517",
      "r518",
      "r523",
      "r543",
      "r544",
      "r554",
      "r556",
      "r566",
      "r573",
      "r702",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744"
     ]
    },
    "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": [
      "r657"
     ]
    },
    "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": [
      "r665"
     ]
    },
    "duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r203",
      "r559",
      "r705",
      "r747",
      "r748"
     ]
    },
    "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": [
      "r639"
     ]
    },
    "duot_NatureOfOperationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r145"
     ]
    },
    "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": [
      "r145"
     ]
    },
    "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",
      "http://duostechnologies/role/LiquidityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in operating activities",
        "negatedLabel": "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": [
      "r85",
      "r86",
      "r87"
     ]
    },
    "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/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
      "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": [
      "r78",
      "r87",
      "r107",
      "r123",
      "r135",
      "r136",
      "r139",
      "r151",
      "r155",
      "r157",
      "r158",
      "r159",
      "r160",
      "r163",
      "r164",
      "r169",
      "r178",
      "r191",
      "r197",
      "r199",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r356",
      "r357",
      "r401",
      "r484",
      "r504",
      "r505",
      "r553",
      "r582",
      "r700"
     ]
    },
    "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": []
    },
    "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": [
      "r638"
     ]
    },
    "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": [
      "r636"
     ]
    },
    "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": [
      "r635"
     ]
    },
    "duot_NonPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "NonPlanMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r665"
     ]
    },
    "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": [
      "r665"
     ]
    },
    "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": [
      "r82"
     ]
    },
    "srt_NorthAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NorthAmericaMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "North America [Member]"
       }
      }
     },
     "auth_ref": [
      "r753",
      "r754",
      "r755",
      "r756"
     ]
    },
    "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": [
      "r27",
      "r28",
      "r29"
     ]
    },
    "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": [
      "r12",
      "r105",
      "r746"
     ]
    },
    "duot_NumberOfSharesCancelled": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "NumberOfSharesCancelled",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares cancelled"
       }
      }
     },
     "auth_ref": []
    },
    "duot_NumberOfSharesExchanged": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "NumberOfSharesExchanged",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares exchanged"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r178",
      "r191",
      "r197",
      "r199",
      "r553"
     ]
    },
    "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": [
      "r369",
      "r570"
     ]
    },
    "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 obligations",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r367"
     ]
    },
    "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": 4.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": [
      "r367"
     ]
    },
    "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 obligations, less current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r367"
     ]
    },
    "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": [
      "r366"
     ]
    },
    "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": [
      "r687"
     ]
    },
    "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": [
      "r372",
      "r570"
     ]
    },
    "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": [
      "r371",
      "r570"
     ]
    },
    "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": [
      "r41",
      "r59",
      "r60",
      "r102"
     ]
    },
    "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": []
    },
    "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": [
      "r88",
      "r89",
      "r90",
      "r101"
     ]
    },
    "duot_OriginalIssueDiscount": {
     "xbrltype": "percentItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r103",
      "r127",
      "r391",
      "r584"
     ]
    },
    "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": [
      "r83"
     ]
    },
    "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-NotesPayableFinancingAgreements"
     ],
     "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": [
      "r16"
     ]
    },
    "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": [
      "r638"
     ]
    },
    "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": [
      "r598"
     ]
    },
    "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": [
      "r605",
      "r617",
      "r627",
      "r652"
     ]
    },
    "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": [
      "r608",
      "r620",
      "r630",
      "r655"
     ]
    },
    "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": [
      "r608",
      "r620",
      "r630",
      "r655"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r634"
     ]
    },
    "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_PaymentsOfStockIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfStockIssuanceCosts",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "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": [
      "r24"
     ]
    },
    "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": [
      "r84"
     ]
    },
    "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": [
      "r84"
     ]
    },
    "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": [
      "r84"
     ]
    },
    "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": [
      "r637"
     ]
    },
    "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": [
      "r637"
     ]
    },
    "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": [
      "r636"
     ]
    },
    "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": [
      "r639"
     ]
    },
    "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": [
      "r635"
     ]
    },
    "duot_Plan2016Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "Plan2016Member",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan 2016 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_Plan2021Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "Plan2021Member",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan 2021 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732"
     ]
    },
    "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": [
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732"
     ]
    },
    "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": [
      "r592"
     ]
    },
    "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": [
      "r593"
     ]
    },
    "us-gaap_PreferredStockConvertibleConversionPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockConvertibleConversionPrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Conversion price",
        "label": "Preferred Stock, Convertible, Conversion Price",
        "documentation": "Per share conversion price of preferred stock."
       }
      }
     },
     "auth_ref": [
      "r257"
     ]
    },
    "us-gaap_PreferredStockConvertibleSharesIssuable": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockConvertibleSharesIssuable",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Conversion of stock shares issued",
        "documentation": "Number of common shares issuable upon conversion of preferred stock."
       }
      }
     },
     "auth_ref": [
      "r257"
     ]
    },
    "duot_PreferredStockDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "PreferredStockDMember",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock D [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PreferredStockEMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "PreferredStockEMember",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock E [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PreferredStockFMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "PreferredStockFMember",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "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": [
      "r71",
      "r255"
     ]
    },
    "us-gaap_PreferredStockRedemptionPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockRedemptionPricePerShare",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "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": [
      "r45",
      "r46",
      "r49"
     ]
    },
    "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": [
      "r71",
      "r463"
     ]
    },
    "duot_PreferredStockSharesAvailableToBeDesignated": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "PreferredStockSharesAvailableToBeDesignated",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares 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": [
      "r71",
      "r255"
     ]
    },
    "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": [
      "r71",
      "r463",
      "r482",
      "r751",
      "r752"
     ]
    },
    "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": [
      "r71",
      "r395",
      "r571"
     ]
    },
    "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": [
      "r46",
      "r71"
     ]
    },
    "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": [
      "r684"
     ]
    },
    "duot_PrincipalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "PrincipalAmount",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal amount"
       }
      }
     },
     "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_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": 4.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",
      "r428"
     ]
    },
    "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": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r200",
      "r387",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r546",
      "r557",
      "r572",
      "r679",
      "r698",
      "r699",
      "r705",
      "r747"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "auth_ref": [
      "r200",
      "r387",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r546",
      "r557",
      "r572",
      "r679",
      "r698",
      "r699",
      "r705",
      "r747"
     ]
    },
    "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": [
      "r123",
      "r135",
      "r136",
      "r144",
      "r151",
      "r155",
      "r163",
      "r164",
      "r178",
      "r191",
      "r197",
      "r199",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r340",
      "r343",
      "r344",
      "r356",
      "r357",
      "r389",
      "r400",
      "r436",
      "r484",
      "r504",
      "r505",
      "r553",
      "r568",
      "r569",
      "r583",
      "r685",
      "r700"
     ]
    },
    "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r390",
      "r399",
      "r571"
     ]
    },
    "duot_PurchaseAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "PurchaseAgreementMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PurchaseOfCommonStockWarrants": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/20240331",
     "localname": "PurchaseOfInsurancePolicy",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase of insurance policy"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PutOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PutOptionMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Put Option [Member]",
        "documentation": "A financial contract between two parties, the buyer and the seller (writer) of the option, where the buyer has the right but not the obligation to sell a commodity or financial instrument (the underlying instrument) to the seller (writer) at a certain time for a certain price (the strike price). The seller (writer) has the obligation to purchase the underlying asset at that strike price, if the buyer exercises the option."
       }
      }
     },
     "auth_ref": [
      "r520",
      "r521",
      "r522"
     ]
    },
    "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": [
      "r634"
     ]
    },
    "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": [
      "r634"
     ]
    },
    "duot_RailMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "RailMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r232",
      "r297",
      "r302",
      "r327",
      "r328",
      "r329",
      "r383",
      "r384",
      "r420",
      "r453",
      "r454",
      "r513",
      "r515",
      "r517",
      "r518",
      "r523",
      "r543",
      "r544",
      "r554",
      "r556",
      "r566",
      "r573",
      "r576",
      "r696",
      "r702",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r232",
      "r297",
      "r302",
      "r327",
      "r328",
      "r329",
      "r383",
      "r384",
      "r420",
      "r453",
      "r454",
      "r513",
      "r515",
      "r517",
      "r518",
      "r523",
      "r543",
      "r544",
      "r554",
      "r556",
      "r566",
      "r573",
      "r576",
      "r696",
      "r702",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r600",
      "r612",
      "r622",
      "r647"
     ]
    },
    "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_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": [
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r433",
      "r434",
      "r435",
      "r488",
      "r489",
      "r490",
      "r510",
      "r512"
     ]
    },
    "duot_RentableSpace": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "RentableSpace",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rentable space"
       }
      }
     },
     "auth_ref": []
    },
    "duot_RepaymentsOfLongTermCapitalLeaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": []
    },
    "duot_RepaymentsOnFinancingAgreements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "RepaymentsOnFinancingAgreements",
     "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 on financing agreements",
        "label": "RepaymentsOnFinancingAgreements"
       }
      }
     },
     "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": [
      "r69",
      "r336",
      "r745"
     ]
    },
    "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",
      "r69"
     ]
    },
    "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": [
      "r601",
      "r613",
      "r623",
      "r648"
     ]
    },
    "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": [
      "r602",
      "r614",
      "r624",
      "r649"
     ]
    },
    "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": [
      "r609",
      "r621",
      "r631",
      "r656"
     ]
    },
    "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": [
      "r74",
      "r98",
      "r397",
      "r424",
      "r425",
      "r432",
      "r464",
      "r571"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r152",
      "r153",
      "r154",
      "r156",
      "r162",
      "r164",
      "r210",
      "r211",
      "r332",
      "r333",
      "r334",
      "r337",
      "r338",
      "r347",
      "r349",
      "r350",
      "r352",
      "r354",
      "r421",
      "r423",
      "r437",
      "r751"
     ]
    },
    "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/RevenueAndContractAccountingDetails-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": [
      "r179",
      "r180",
      "r190",
      "r195",
      "r196",
      "r200",
      "r201",
      "r203",
      "r292",
      "r293",
      "r387"
     ]
    },
    "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": [
      "r119",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r545"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccounting"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUE 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": [
      "r119",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r295"
     ]
    },
    "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": [
      "r141",
      "r151",
      "r179",
      "r180",
      "r190",
      "r195",
      "r196",
      "r200",
      "r201",
      "r203",
      "r209",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r357",
      "r389",
      "r700"
     ]
    },
    "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": [
      "r665"
     ]
    },
    "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": [
      "r665"
     ]
    },
    "duot_SaleOfAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": "Aggregate proceeds",
        "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"
     ],
     "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, shares",
        "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction."
       }
      }
     },
     "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": [
      "r203",
      "r676"
     ]
    },
    "duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingTables"
     ],
     "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": []
    },
    "duot_ScheduleOfNoteReceivableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "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": [
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of stock-based compensation",
        "documentation": "Tabular disclosure of employee stock purchase plan activity."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of stock option issuance of shares",
        "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": [
      "r10",
      "r11",
      "r56"
     ]
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShortTermDebtTable",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements",
      "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": [
      "r14"
     ]
    },
    "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": [
      "r42",
      "r43",
      "r44",
      "r46",
      "r47",
      "r48",
      "r50",
      "r96",
      "r97",
      "r98",
      "r129",
      "r130",
      "r131",
      "r175",
      "r255",
      "r256",
      "r258",
      "r260",
      "r263",
      "r268",
      "r270",
      "r428",
      "r429",
      "r430",
      "r431",
      "r556",
      "r675",
      "r688"
     ]
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityTables"
     ],
     "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": [
      "r53"
     ]
    },
    "duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of supplemental information related to leases"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r586"
     ]
    },
    "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": [
      "r590"
     ]
    },
    "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": [
      "r681"
     ]
    },
    "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": [
      "r589"
     ]
    },
    "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": [
      "r594"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r203",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r225",
      "r226",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r555",
      "r679",
      "r747"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "auth_ref": [
      "r201",
      "r202",
      "r450",
      "r451",
      "r452",
      "r514",
      "r516",
      "r519",
      "r524",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r547",
      "r558",
      "r576",
      "r705",
      "r747"
     ]
    },
    "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_SeriesCPreferredConvertedToCommonStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesCPreferredConvertedToCommonStockShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series C preferred converted to common stock shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesDConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesDConvertiblePreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesDPreferredStockIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesDPreferredStockIssued",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D preferred stock issued"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesDPreferredStockIssuedShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesDPreferredStockIssuedShares",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D preferred stock issued, shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SeriesDPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesDPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D Preferred Stock [Member]",
        "documentation": "Series D preferred stock."
       }
      }
     },
     "auth_ref": [
      "r682",
      "r683",
      "r704"
     ]
    },
    "duot_SeriesEConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesEConvertiblePreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesEPreferredConvertiblePreferredStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/20240331",
     "localname": "SeriesEPreferredStockIssued",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E preferred stock issued"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesEPreferredStockIssuedShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesEPreferredStockIssuedShares",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E preferred stock issued, shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFPreferredConvertiblePreferredStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SeriesFPreferredConvertiblePreferredStockShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F preferred convertible preferred stock, 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": [
      "r706"
     ]
    },
    "duot_ServicesAndConsultingRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ServicesAndConsultingRecognized",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services and consulting recognized"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ServicesTransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ServicesTransferredOverTimeMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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_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": [
      "r53",
      "r55"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Aggregate intrinsic value, Outstanding beginning balance",
        "periodEndLabel": "Aggregate intrinsic value, Outstanding ending balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instrument Other than Option, Nonvested, Intrinsic Value",
        "documentation": "Per share or unit weighted-average intrinsic value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r317"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected dividend rate",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r328"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected volatility",
        "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": [
      "r327"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk-free rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r329"
     ]
    },
    "duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grant date share price"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "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": [
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of options, Exercisable",
        "verboseLabel": "Number of warrants, Exercisable",
        "terseLabel": "Number of incentive stock options 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": [
      "r310"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "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": [
      "r310"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of warrants, Warrants expired, forfeited, cancelled or exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period",
        "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": [
      "r315"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Exercised/forfeited/expired",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r713"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of options, Exercised/Forfeited/Expired",
        "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": [
      "r314"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of options, Granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r312"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Aggregate intrinsic value, Outstanding beginning balance",
        "periodEndLabel": "Aggregate intrinsic value, Outstanding ending balance",
        "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": [
      "r54"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding beginning balance",
        "periodEndLabel": "Outstanding ending balance",
        "verboseLabel": "Number of incentive stock options",
        "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": [
      "r308",
      "r309"
     ]
    },
    "duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price, Outstanding beginning balance",
        "periodEndLabel": "Weighted average exercise price, Outstanding ending balance",
        "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": [
      "r308",
      "r309"
     ]
    },
    "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": [
      "r54"
     ]
    },
    "duot_ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price, Outstanding beginning balance",
        "periodEndLabel": "Weighted average exercise price, Outstanding ending balance",
        "label": "ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grant date exercise price"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions",
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "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": [
      "r312"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares 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": [
      "r567"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected term",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r326"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r54"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r54"
     ]
    },
    "duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining contractual term (Years), Granted"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining contractual term (Years)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-NonPlanOptions",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Weighted average remaining contractual term (Years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase discount, percentage",
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value."
       }
      }
     },
     "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": [
      "r95",
      "r99"
     ]
    },
    "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/StatementsOfChangesInStockholdersEquity"
     ],
     "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-NotesPayableFinancingAgreements",
      "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-NotesPayableFinancingAgreements",
      "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": [
      "r14"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements",
      "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": [
      "r13"
     ]
    },
    "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": [
      "r370",
      "r570"
     ]
    },
    "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": [
      "r595"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r203",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r555",
      "r679",
      "r747"
     ]
    },
    "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": [
      "r120",
      "r129",
      "r130",
      "r131",
      "r151",
      "r167",
      "r168",
      "r170",
      "r172",
      "r175",
      "r176",
      "r209",
      "r233",
      "r235",
      "r236",
      "r237",
      "r240",
      "r241",
      "r255",
      "r256",
      "r260",
      "r263",
      "r270",
      "r357",
      "r428",
      "r429",
      "r430",
      "r431",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r449",
      "r463",
      "r485",
      "r506",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r675",
      "r688",
      "r693"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r22",
      "r121",
      "r137",
      "r138",
      "r139",
      "r152",
      "r153",
      "r154",
      "r156",
      "r162",
      "r164",
      "r174",
      "r210",
      "r211",
      "r272",
      "r332",
      "r333",
      "r334",
      "r337",
      "r338",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r354",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r374",
      "r421",
      "r422",
      "r423",
      "r437",
      "r506"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r201",
      "r202",
      "r450",
      "r451",
      "r452",
      "r514",
      "r516",
      "r519",
      "r524",
      "r531",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r547",
      "r558",
      "r576",
      "r705",
      "r747"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "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": [
      "r152",
      "r153",
      "r154",
      "r174",
      "r387",
      "r427",
      "r449",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r463",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r472",
      "r473",
      "r474",
      "r475",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r483",
      "r486",
      "r487",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r506",
      "r577"
     ]
    },
    "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/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetails-Assumptions"
     ],
     "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": [
      "r152",
      "r153",
      "r154",
      "r174",
      "r387",
      "r427",
      "r449",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r463",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r472",
      "r473",
      "r474",
      "r475",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r483",
      "r486",
      "r487",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r506",
      "r577"
     ]
    },
    "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": [
      "r604",
      "r616",
      "r626",
      "r651"
     ]
    },
    "duot_StockExchangeShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/StatementsOfChangesInStockholdersEquity",
      "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",
      "r71",
      "r72",
      "r98",
      "r428",
      "r506",
      "r526"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity",
      "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": "Shares purchased, 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",
      "r71",
      "r72",
      "r98",
      "r437",
      "r506",
      "r526",
      "r583"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensationGross",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock compensation under ESPP",
        "documentation": "Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "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",
      "r22",
      "r98"
     ]
    },
    "duot_StockIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": []
    },
    "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/StatementsOfChangesInStockholdersEquity"
     ],
     "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": [
      "r72",
      "r75",
      "r76",
      "r91",
      "r465",
      "r482",
      "r507",
      "r508",
      "r571",
      "r584",
      "r689",
      "r695",
      "r734",
      "r751"
     ]
    },
    "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": [
      "r95",
      "r150",
      "r254",
      "r256",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r269",
      "r272",
      "r353",
      "r509",
      "r511",
      "r530"
     ]
    },
    "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": [
      "r364",
      "r381"
     ]
    },
    "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": [
      "r364",
      "r381"
     ]
    },
    "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": [
      "r364",
      "r381"
     ]
    },
    "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": [
      "r364",
      "r381"
     ]
    },
    "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": [
      "r364",
      "r381"
     ]
    },
    "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": [
      "r380",
      "r382"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "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": [
      "r70"
     ]
    },
    "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": [
      "r645"
     ]
    },
    "us-gaap_TechnologyServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TechnologyServiceMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Technology Service [Member]",
        "documentation": "Technology assistance, including but not limited to, training, installation, engineering, and software design."
       }
      }
     },
     "auth_ref": [
      "r706"
     ]
    },
    "duot_ThirdPartyInsuranceNoteFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ThirdPartyInsuranceNoteFourMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party - Insurance Note 4 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThirdPartyInsuranceNoteOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ThirdPartyInsuranceNoteOneMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party - Insurance Note 1 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThirdPartyInsuranceNoteThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ThirdPartyInsuranceNoteThreeMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party - Insurance Note 3 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThirdPartyInsuranceNoteTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ThirdPartyInsuranceNoteTwoMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayableFinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party - Insurance Note 2 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThreeCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "ThreeCustomerMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Customer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThreeDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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/RevenueAndContractAccountingDetails-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": [
      "r562",
      "r705"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-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": [
      "r562",
      "r705"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r694",
      "r736"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "auth_ref": []
    },
    "duot_TotalChargesRelatedToEmployeeStockPurchasePlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "TotalChargesRelatedToEmployeeStockPurchasePlan",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-EmployeeStockPurchasePlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total increase to equity for three months ended March 31, 2024"
       }
      }
     },
     "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": [
      "r637"
     ]
    },
    "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": [
      "r644"
     ]
    },
    "duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r109",
      "r110",
      "r111",
      "r206",
      "r207",
      "r208"
     ]
    },
    "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": [
      "r667"
     ]
    },
    "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": [
      "r668"
     ]
    },
    "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": [
      "r666"
     ]
    },
    "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": [
      "r666"
     ]
    },
    "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": [
      "r669"
     ]
    },
    "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": [
      "r667"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://duostechnologies/role/StatementsOfChangesInStockholdersEquity"
     ],
     "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": [
      "r51"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock, common shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less:\u00a0\u00a0Treasury stock (1,324 shares of common stock \u00a0at March 31, 2024 and December 31, 2023)",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r51",
      "r52"
     ]
    },
    "duot_TurnkeyProjectsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "TurnkeyProjectsMember",
     "presentation": [
      "http://duostechnologies/role/RevenueAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Turnkey Projects [Member]",
        "documentation": "Turnkey Projects [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": [
      "r339"
     ]
    },
    "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": []
    },
    "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": [
      "r663"
     ]
    },
    "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": [
      "r35",
      "r36",
      "r37",
      "r114",
      "r115",
      "r117",
      "r118"
     ]
    },
    "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": [
      "r271"
     ]
    },
    "us-gaap_WarrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "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": [
      "r574",
      "r575",
      "r578",
      "r579",
      "r580",
      "r581"
     ]
    },
    "duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "WarrantsExchangedForCommonStockWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Warrants issued"
       }
      }
     },
     "auth_ref": []
    },
    "duot_WarrantsExpiredForfeitedCancelledOrExercised": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20240331",
     "localname": "WarrantsExpiredForfeitedCancelledOrExercised",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetails-Warrants"
     ],
     "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/ConsolidatedStatementsOfOperations"
     ],
     "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": [
      "r166",
      "r172"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "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": [
      "r165",
      "r172"
     ]
    },
    "duot_WorkingCapitalSurplus": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20240331",
     "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": [
      "r673"
     ]
    }
   }
  }
 },
 "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": "(bbb)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "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)",
   "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-26)",
   "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.20)",
   "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.21)",
   "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.22(a)(1))",
   "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)",
   "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.25)",
   "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.29)",
   "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-31)",
   "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.30)",
   "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": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r25": {
   "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"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "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"
  },
  "r37": {
   "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"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "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"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "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"
  },
  "r67": {
   "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"
  },
  "r68": {
   "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"
  },
  "r69": {
   "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"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "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"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "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"
  },
  "r87": {
   "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"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//250/tableOfContent"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r91": {
   "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"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r94": {
   "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"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r100": {
   "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"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "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"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "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"
  },
  "r118": {
   "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"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "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"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "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"
  },
  "r427": {
   "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"
  },
  "r428": {
   "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"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "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"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "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"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column B)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "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"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r632": {
   "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"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r649": {
   "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"
  },
  "r650": {
   "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"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r659": {
   "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"
  },
  "r660": {
   "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"
  },
  "r661": {
   "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"
  },
  "r662": {
   "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"
  },
  "r663": {
   "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"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "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"
  },
  "r678": {
   "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"
  },
  "r679": {
   "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"
  },
  "r680": {
   "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"
  },
  "r681": {
   "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"
  },
  "r682": {
   "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"
  },
  "r683": {
   "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"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "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"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "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"
  },
  "r693": {
   "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"
  },
  "r694": {
   "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"
  },
  "r695": {
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r698": {
   "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"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "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"
  },
  "r702": {
   "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"
  },
  "r703": {
   "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"
  },
  "r704": {
   "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"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "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"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "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"
  },
  "r711": {
   "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"
  },
  "r712": {
   "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"
  },
  "r713": {
   "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"
  },
  "r714": {
   "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"
  },
  "r715": {
   "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"
  },
  "r716": {
   "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"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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"
  },
  "r719": {
   "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"
  },
  "r720": {
   "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"
  },
  "r721": {
   "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"
  },
  "r722": {
   "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"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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"
  },
  "r725": {
   "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"
  },
  "r726": {
   "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"
  },
  "r727": {
   "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"
  },
  "r728": {
   "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"
  },
  "r729": {
   "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"
  },
  "r730": {
   "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"
  },
  "r731": {
   "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"
  },
  "r732": {
   "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"
  },
  "r733": {
   "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"
  },
  "r734": {
   "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"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "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"
  },
  "r738": {
   "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"
  },
  "r739": {
   "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"
  },
  "r740": {
   "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"
  },
  "r741": {
   "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"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "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"
  },
  "r748": {
   "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"
  },
  "r749": {
   "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"
  },
  "r750": {
   "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"
  },
  "r751": {
   "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"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "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"
  },
  "r755": {
   "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"
  },
  "r756": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>63
<FILENAME>0001079973-24-000691-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001079973-24-000691-xbrl.zip
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
MZ?M+^$X>]#G,^3#^D\'_46,;PRDE.!7.*?@_9OD3VUN(O->9]G7P9PK9K;_
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
M=$9%&,$PKTTW[U/2!!&@>\3T[$TSB$A#F&82JVM,D62Y TWZ(HO3U31+230
M,F62+J1BFC#^&9A=5:@5?B(9\-MS(';4H?$J:* &7H"LFI6HJJH;>D/5[(\Z
M,!CMJG9'EKO%_BH8]7KQIOL-=2?O=4(-N&!F,P/5L&04:A9RNF;51[,@(TY5
MXR*.GH.[D5("BS=<";J14BJ+]%BI/DIU=V9)]$]R#%EBT^Z\6'DXVCW#0Q[+
ML<"_<%G+"E>[([Z^O76X7\W\+?!;1U0>^?*^0U4AG$X"*R"E(D6R1?_)]K2=
M3E UN;N1!+*_,LN1108W<)UXY:>PU<#5DYQ]6Y8WETHOL_%]]?OM+W:?WIQY
MSSE\=[M;N2'6-WA[@73MB\$=@ODU0E2G,'<)M$$QY%M"-/N$\-D)+([1#%DL
MH.V+X=VVR6UTQWVDFG)WVXE4!M &4Y(IA6_("J0IO!QST.Z\ZG#G-Y+0EV3S
MQH>*(II7@8^@R(&F6_>,[.U0#HOJFV;EJGG3[*+#.<T#.;OMZM?/[9M:_;[S
M7Z+^[:'9_9E#,>>*F$RMT^U ^EQ))U?$^+9P.<PSH5-10BZ;VD>A. P3KY[&
M73VU=[W?"3.T'E5U6R^]J<[GU^7>?-)Z4=H_)/KV=SH;4,.LS2Q/8IA8A$>3
M_5;8%3ZF<I5?\&BXG,1*7K%,ENE][_?>J^Q<X]-R ID$5^9(GBVDL=1RM5F(
M--> @QA:GV,K7QZ^":521NWG)J6V:1'GQ- Z=5UY(H0G#=B7N&>X9N<ES\"&
M1U-)K-.56+(8^YB.0Q"AF_W15 )->>APA6)<U^6_U6\PT*9 W YAW.U/F4Y_
M7I?+/V4*Y&&B0Z0OMX)GBAE/.8:PNP26E)@"119*!VIWX63H;G@)[)^A^0))
MTZD<,73EN?'#9GJVT_P89OR@49U2\>OO;*:_S?T>:A]^SSQR7C^WSU^8J)IU
M6UR6+GRG<$/89 +K,T4X%Y8+<0.IPQ&DNV$F$,T7831/E5(_;\CMG*5@YGD_
M!3<5$11T8]]MLP%7S9>'@\DK'WNT"[)!]!C"$R11\B?Y,@-] 5Y23UF#KBZ(
M3N0 0I[G2:;@'QWL>;7=8V['RS0I5PQ+.^O &ZU5BWD"3AAS><3UYM5R=Z#^
M:;?EET+FV=3ZB2DWV_-#)N%'G'R*3J#ODH4!!WVX1T;&2:7H!-)1%KK*(DEQ
M"293:60]V W&=8.,?V+KM>=LX0M_?JU4AK]5:OHEI['SCM27A'_2=<(C 3ZZ
ML,Q7P2%\= )MJ@62+M D%^ \ !Q51U>?^QR10'D$&BU3(HMT[AI8\<2QYZY5
M1[2R&3B;<P2<*RJ=^ESO_^C-^4:W51/TP?7]4SZG"RN>=HFCC\Z?.'@,X?@3
M6*$N0L_!D#R%#Q],1E'N+CZ!NE>1+!0YLEA,15'8Q>>'&-]M9U5U/)8,LTNB
MHHBHO@>U#93!PN4[LH*EI[^I-;NE_DOC\VV4-:\8]XNM2#7WN:\12_QM'DM1
M^"?M]+YO?RA*^D069A<$-!^P<;W?N0X&Y]+;^4@210"_#.7.2&]]3:9HAD:C
ME1B:^;B\[J^?F^)%;.Z8^-QA_Y$?8GSOY4FZ]SVZ>W!K>L=-MW'77N\T, 0P
M";4V.3P*\A3TI-6LT.W<S:<_Q-Y<5;O&Y'[ZI(E1KCZ+U0BQ)!%^#=)X0?S'
M\E8V0^6U8M@Z0W>"UM8ZAF  T>3M#FB=D:"!W@#%R13+TKUY]V:F3,&+UG^"
MR;4A&8BRC3%)2)A&O* WV+YR-3H7;7269M#H]3);,5YN'N4A%VQTO\L. HP?
M/&M@@R[A-5N-]2#TSAQ)3Y%@U^B9#;H&X4TP]9YRS7"V_K"8_\Q_K51$$IL
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
MC5+?7FKM09B+5_-CXQSC;L[CNPKN?LVK"1?<(TQ).3Q?)CH7V17<@P U;W7
M)'B*60=D29[A$JFXAUC:RBCXRV'%/8^6EL"4D+N#^I/@*>81:C3)19CFDCAI
M9KWB;KW+D:V:<VBPTKMWUIIVZ3V"H80IO4=;4\C( ^2Q]![$@/;;199DZ3T(
M=_&;R'#IW3LO_/:U*;7F+ZKR!#*OIR9A"T'#MEWUU$)>:N_>UROOA$N*902M
MUF7XEZN;(9__/O< < E\@\0NN,1=JHE>?T^KR[T1LNCNO14W]:)[(]&B>\35
M@R0,+B8C617=7<G>,+(#OC<U"'L)W)N:?I=[Q'O0$ZR\NP-\WKWNTFKG]?/7
MZHX%W0"5]WBWSJ=GP?.9_##DWF;J=_50"N]!0'^P%Z@&82[F!:II-;G[%=(2
MKKE'F)%\*H%97)\:G8OL:NX!,)K*K0IIUMR#\!2O$IC,L3(A%K8R"OMR>*Q,
M'HTL@8D@=Q<G),'3OB].V$.E/6"5W?OD@+2K[!'L(TR5/=KR04:&G\<J>Q"[
M.=RK5 -P%_&FA_6K5)F(46_"5=-"ID?*>&2!E7E7,WYWV#Z3_SI[$+SDX8"0
M(SG3W0,Q!>&U?\\^O/)L_L]T#X*8W%RCBDKMMNX+%._0?=6,('8OL,Q_LLW?
M8N?+M%%FS\*7[--LF:\Z J"+[?"'=><T0(G>.9\[!]E92V<B#&>94[#A=@([
MP("[7.,&=,LI3_U1J5V8Y3JU93HVM=1[BG+;5>*S:&XK9[MR1;EC85'=FQHC
M59/F:Z4K;PPL$D=A^:UMZ)5"#.<'.;?A@BIS<\#@D$.^);7,,RR%[C#CXA5)
M*;,].4ZI=*42Z]313104=J%@JU;JBX!EO26<;/W+@!MR+<:2:Y%D:0[^O^0E
M1->B5S&@J (:2_*B<H=@-+_L$!7%DSSOUAZT!C2+G>W=+/5=4G.O9?N*+D0]
M;->0@?'&4M&F"R?>6+)<=NN9"7:*B*_D H(N3<FYP8^EXOEH!#]HJ:S;<1%K
M\$OD&.9$,J:H:<9F7!TB]$I@?ZSI$K---5,5G*MO+ 6=1G8+CN*3.\1SE7,Y
MP\$*S&/0>P7Y3I#$IE(5)I(AR [.7;.P5@O\'(^>?U+2<X0L;%?CU(XTBS;3
M+(N]%=WP(4F$&=OYP"(]4\3XBS/$U! TQ-N%(8:D&(Z$R?MA6F!$>;I/& DX
M,[Y,T@Q%TJZG#,4VS(K#,.^!(4@*$.N"ID 3T"N#P70\E5%F6@-#:2 9KH;9
M[\N#QY<9<Z?*Z95'7&W4>BNTTNV;\]8,=\4'%+G)R*;D7-YXM@M]?543@;9\
M_$J&?*$O$;HJ2^)V^<8+G6'>LT#OW[OAZZ_$$.X@4F\U:F?Y]^Q\"\<\R7+0
M+_#^?L%5O]LB_0=K,9 3"IHT!=(B2_(42W*<?P]T."VZ>B?'W7A=%3IAJ[BN
MB&N>&?Z^*:ZEN^HN_95A^ZNQT*G/Q^ROWKP+;KOR34/\TLHHHNA,^^>&FE4
M83;?11%K< ="!TTU=\Q_',D7BR13/K!P(EGINAKVYIG]T:3+P>2QS*<2]3L;
MD[H:$/2I-C.E8053BQ67UG*M3>J-==LXE?N?M-[LEA]JY:2BBHA6>@-T_<+Z
MT?JGS<JB\>3O7?U8+FQ;Y0"/$M'ZN\EEBXM=YHT\U'9-Q6^HG1.4YV AG$.\
MNF>2]+F;5[QB(TVRC%N-+%"E6QVN-3=]ZFL?+M\M.JJ"%83^L=V<P_$YWN+X
MU-? @W]MX1&=W_,)=+S<0@@8)7#V'LT5R8)72!-&2L<H=7?C2*!2D+34W1;[
MG0[2Y':DRC!6U^M_II(Q6PL0%S//6+BIP!_U_H_>_$&XG3?&5^,16J1(/T)T
MR5O,"()P4OY?PJ+]@).?W>#<5E-P9\ D$G!R=)DLN9;I(V4X[G([-7VYNI'
M)_?OU!?+\U!G_INX(^@KSI54X4I;ZUX\W93%_\$]YD]1B'%--YQ-(#>2T)=D
MR9" #E,M'\^_<OCLUSFM])_NGK_U]^GPF??<ILMW,& &>%&F@+77!G<JYM<(
M49WV9>!F'_\)Y%*\WQ+(J_@I,,2<D$2 R)#% D,6"FZ]*P&4$'U:.#D=NL\3
M282;#%F".F1*_DO#D71H^Z0/!MJX>OGNW;M/$_N%0U595!6(KC2&)MT"K\2]
M.A84TOH#2:"^VN%'8BQH3Q)\/[4^W ! 06E0X/WEF*N?)I>IC)7RZSL $,(
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
MWK2O/[3Y]/%1/C6'M3O%@ X]Y^[*C_Y0>9V+LZ(YGBP5W?:1I.^L[.#O@R%
MEW#Y[MV[U<7E:&'=ZK,ANM(8Z#!'?R7NU;&@D-8?2*(#-&EHWVEN7F_N'&[S
M2M[)92JOMUY\B)1W ""$P4 =0WW.T"Y;B#X1M8"(A*(:\,6&:EY=/U6$J2@A
M3X$.?D?])@+\Y=U04@1E( DR) S^ 9W0H;]/C=B49>%\_;M/_W-^3C0D((L7
MQ!VTVX_P)7^F0!F "Z) G)\O)DY1>@G:GF.-OOR<-R\L-T$/*9#EA?&8"Z3H
M=VAA _MW9Y^)=;]W&1F6?5DG1?V%7J5Y95P6@YO/.QBT6?M(=&<3^/:*)O2E
MP4>B!3V9Q7Y+13PSSB]]L+^%/MFT:-N</WV $G*1E0:$Y_,^@%X+#C QY;N0
MCZ%.(@DGEC""D.]D'8G$!(&+T1=" '$WIK-]4]H^LW]9>VAWB&Z]^KG5OFE?
M-^L=XOJ^_7!'HCU/[XE*JT9T'JXZS5JS<@\__/2A?YDF-9UNI5N_K;>Z'73#
M4O5SI74-*6JVB$ZW7?WZN7U3J]]W_DO4OSTTNS_3)J:A:J;?[8XTZ*%OX9M'
M.E&'KEDD;LWCKUB:)%#R8I8K4&"0-D5_/]A3P#]I#V4C+]U1'.\/YFCLV)RE
M"CV:+O3FU$O]S\V$&3#H9&M].H9CSLQ'H$>UIT/BG @%+,(AY[/P;"\FH8$J
MR\)$A[[5_FG#X04IMSEN'[.2D^UIJ.3,)M=BPK!?6>:AD&#TUW_/F+,]#)L0
MI:M>Q:N&XQ(/&P3U/U/)F%5AE*4J*$0R+_L83'4H9'03"!@"38.Y@*$.GFO+
M>YN?VF_#M\;+R^?5WD-7)!^*C Z'4H<V^7C:K-O:?!8D7A-5ZDF2L#8STV8I
MGC8;MC9GW-?Y7;?>DE0::S,S;5:#:M-Q*\QXK"JF+FU53GAIV&AQ#]H/X3A4
MZ1 0%UI %1C]H$*/(-\)DMA4JL)$,@39%A9[7Z;YA^MO5[?#HQ-68$_O.$K7
M$"0%B':SPU)*DC("E<;CUQ_RT4F)"2VE+DSU]:DV,ZW.,D!;4$I3;8,R"_J-
M4O:"6GO8N9DG]/@^(JSWYG=?2JTV<]]M:N(.QC\2\6E)E+' "_6Q,H<T%<&?
M>;[=(T_<->(R.B!,<!.U]"1_R&*I8[&XB:6!Q8)&M*8$2R:'*A$F48FL@C L
M#U,>@\%T/)4%LR$K/8$<3AZ5D>I..OCP.#0H07G[K1\F84K_BRX5M=;] Z[A
MFYOKTX7"<8BV,E:GZ!H2+%4,V(,0+08L!NQ!B18#%@/VH$2+ 9N&5-'*Q+FD
MG"_6)K!XDQ5O#0RE@811F[!8[640DXY=Q2XLX:@25O?O#2+4)-SWRKC0XK9)
M)WJ%+<JPF#Y,'Z9OW_1A6@Y3;YB^W-#G=H@HR[MNBW3<4H^"LA%\%]!TJZ6E
M)W5Z\RI?_-WXQ=]W;WZG<@?(HBV;8_YRVREW)<@"VF)3 P.S:<;N^V<V)6)W
M=__EKH#-IP+LXEUN12TYSPS8WFP*A>0FV*"-0GY]T%^O"[-R]>ODUQ]N=1X1
M>)(4U',%)6[*AR1T:S.C#Z/![H;?O2>SHK>'2 /G-',.^;3([[E2O[Y-DPYZ
M0K+[-DV:9,K^)YN&T7!RT-DZPBJ6_+<,,2$%4"&N4-ZX*R6G<O<TV6(&)KML
M=@>3ICH#M4[SD4_.9)V9V;D.!N?2V_E($D4 GX$\,]);7Y.AD9605$H,S7BE
MOX=A(0'9I7+*KB<PF0R N>S;GUSW7W__N"U3\]'>@<E0^=146L LYY-=3V!>
MI0K,75L09/[Y#UN\4ZZ;3[F,<!;?ZFV1OCZ[,D%O>@I_"D4>@)-EB!-0 W2(
M6^'6XQM3^%CPGH+?N2]F0PDA;NU>5P*$/\<S)$_YW\IW$)KP.=8THBK<=]UL
MZ"#,I7-N)X9"93 DR]-DB2W$4\;6H<+'H@?/?3T;J@AS>YR[*FBN2!8X_PL
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
MOF;8?M<W>N&N?CF \X7BTA.]"Z@TL!P@@2%V(+3TP.A9(4!G:.!):% -K:$
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
M9BG,@_ I:F,\:.Q%$Y_ 8(+;M\71F$KI>&Y_QZ'=Q)<B<'D8Z@D)5;#R+/Z
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
MH&5!H\8WK..,&/2*!2<B+=IFF(6%?IAT"Z\62OR13 ->E:G%$Y$:DJX_ PT
M=IIX8E[A%['#&->(N"FFG@ET?0BMJ!%"[)C$]7SR;<6O3F'CV64Q"NUB=R%L
MY,/X%]N$E=OP+1@>H:G(+C?G9G  #]%H[%,#<=BHAPE;:<PA'H-401"7+>JK
MT2>1Q)#ZF"G2']LL=PP^1EVHQB&/?>]$[UNHU[#9LS?N#_1"H_B*D5OIQB2
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
M163U?"[?*+Q<=;#U%.I@$G_64 >]'Y_O/G^\[?Z\NGU=ZF 2[Y95!Q]GA33
M4*Q6ZAM2!NLKBO62%.LK<(Y5E<'NW= XK/PXO-T;/+M8+TFQ7GJ\,MAXG"50
M+I5RL,P3*8/9NF#YZ9%FL2[H./7[<^OCPZW__!;$ J1931=L/,Z" /,1T*94
MRG9<O"!=4.B!VLO5 U-&:"^?^UK*RGT]:$\[)Z66==IIGOO_KMS7P@9S7\OM
MZ9?FY[+YW?MI'57><E_?<E__5;FOA?;TK/-P6YTV2J6N\41C:3;!4Y\F&MZH
M)*/A<.)H)NV9[[GP3Y:SP=-EYX?'U0#,JDNUIS_W3S[NG7[SSO;J+RQ>#GA4
MO?KI##^==P_*-,L$\U24Z;WQ^ZT2-?\?C3%ZX;Z80U)3L&,%UC_"_[)TH</F
MQ1[5*[-*7CG!.+!"A(K6\4S;XE.$48VR6*LN)9DS!K9=_6IDLB),+UH?,UIY
M;'XXQNY K#4S:Z],RAFO$H,72YNGK+%%E?'(,N]WFUK1J_6[';OZB7='>G?D
M=F-/06^(W<RO=*;*UV!1FIF@G5O4OAD __[2&P%W*M;S'_[2CX>8<,8SBN!5
MV<=(K^#?U/?MH.MXP=BGFC5E:9E!W:7D+)OAA<D^;L5&-P3\%#*WB8V\IGR[
M_M@Q?&<2E=Z+:N6!;?64?#VT&TB1'AJWEA\_BAWPL+M]Q^H/>0<XD7/6L0"D
M5"D/W_]DP-_\B<:E*L\BQL+9X=POZ.P+E?C60VS;WN%EN-1].?0]K)?$L[ V
M[93]!NOZ<GF>24>S+RA_I6=C=2 F6D097K.9R7RN,V]];LJ'P51!S&W%/G[1
MT:C!3*RG,E8C<[)C1(\9AV21&*XFUG#5A+M8DR>9A99ZVE=-4?L@,190U(FW
MRR';T(Y=P'E+OS0>L 45(ZA:.8V@HD]F$5)C 2'E1+L)AM*\T9NHR-60WV)K
MQ2AA,**$$':E9%#,7(0'<^RHFEDFFO+Z".I<&66)LF1W_BWL/!G5<P\I]1XK
M37$T!I7P:MBO*QAXCKFK'XY]%#>Y%:Z8=0BCP_KW$PA# O;(L,TX]%3:U^;2
M?H*."0Q$!@KY4F+G**)@41<MZ\U'HODF?F,2IZD$[<>+N.U G<N^! $W_M8'
MHOWZ7-+5ER==[861[O\*^=I_5]#ROQJNP0OTY7R7C@4O1UGQ-,!BPM4=GY1
M9\)I.*=W )<P#7@"Z!O12*:V0QET?-1$3O7>&'*J@<CUXH#'I0CTE)+WC(!.
MVB5;MU-J23OE(JJ(V/?&G;")E/S1 \"T@*58OIMAH>3W%0ME^47:4\_JGEWO
M]4YN3])J S>BQ(.!@KX!G56\%0I_)_S,]6*C/9V<]N^K=X6N=5E[]\^7XV]7
MQ_O'ES__B/Q<-FQ$4>%;8#[T>(-=,@.*^4H.W:N!F,>"49U#20C2>4Y5@H7B
MW_26.G],_3V\=\ATTWQE!Z2I8A*T^.^$93 [RH?E_>/\K<#F,RXPWY]K3++4
MJ(OSN637KO]ASY4[UC/.P*14I9('& R<1\@@+"*+EB41B+_C%1 1L<?Z-="I
ML*\4"3!S;&F\%PDVW* &=U$#)59R,> U&6G<@_1EQLRH>D2VFNA,] A"O,Y1
MB!H634#[#GL\4'XKE4* #LT:,<?[G%#RKTSZ'<)7^DQ>,4['^GDXAILZ]Z0W
MQN7E1![64)FG")MBZFS:S33U9@J+IVH\5BQFIHHVY4F0B]G47RB@$6)XZ"['
MK,SZ3 +@D,]/ AAJ#(:O6)<EO.CQXD4[12ZE*_):]!A)TL*F*#)_'<#TGV1T
MK:*P[#,::H9%"JE)55.OV-G_\>-'971>C&+G?/%%N1;1VO/RF>(R*R:E&DO&
MI?)*5.KJ8O_=/\5<K5+,E?*-S)"42,!G?6MY[2JUCDOD3._J^U&:?0#WD\5^
M72,8L#F$R""$V:OA1G<L"?T>4'L&^JV82R]LP2IGW)+>FUS!<L>N+&EJRK7:
M]DG;M-/?*#S\%3Y\,JN]\R@WII5Z.#TZW*+'6_YH:SUN/5]8_G'1,_%_[W9F
M7SE?@I<N9+XR,\CO/?^6"(E-Y@.1X8^<,6\#V^V.AV/6+M^T>E2]QWA@,G.>
MPHPSC[D?!:JOV38MMLL%VP2S6$:C_"BOI#9/;V^]7TWK4] MEN5[7:<?<F[D
M.'7'>7G%B1<HK? "70-/.4-H)2"R2JX^)W48H3P#MII" ^<6E@1:IBB9:D9/
MLL]>!'#_.$)^ J&S7]W;:QZ-S&-'@K Y^Y:+D'SQWBN L_)HA*Y6<Z4*@+.:
MF?25TU!EDO8J=K <^=8=M1B+!+5/3L$4P4 ZDYFI-'&13(QB1B@C,=F,IXV
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
M!1>W5[63R\N]VX7S:9139?#6?'D'CK=6WD.IO %UL%S,U4KE[%$> 7;R8N/
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
MLO/[-Y_&Y9>$.:F<L;&L[?P<F/-LZM[,:T5Y8U%*U0O'[DQ79 +W*\OB_KF
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
M&)9+,36UF.DJ@M+*9\CU0E9\%U\9+?@H;L[)0C7)*>),-O*,8<Q,>/J ]/8
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
M8X28W<]JBXT -^K;&T&VR;T.-6UY*@O2)E@D0VK"<LO?ZQ;HQ"WQA0S9R9*
M<9(*,%QM3)F1,=PBT3L>L%9W=ZSK%:XMUIK\<'VD;D_FJ[ENQ.R0@HLFVGPU
MPC=EZ8[\X2O-;L@?EB^HCU8%,C"T3BH^-O>"'O&<\&;=@!TP*"CTR&XGO'G(
MQ&53YFYFI=?.I+3#\6U!^#SA*@T_7!%?AE^+*Z+WY"0^OBT0G$AJ<SB1_*[@
M1#R8]W;&]4<7HO#Q,8X7*"0(/^8B X7XZ]'00"&NB""IH(@@_HN)"1%D[3 <
M=RP/_[79L3S,V"FFTEBEXA:\^"<*CZ4@?6&3\)*1P?88'AO!&!6PX_]$G<46
M @TDE> LME!H("D##016K<0YL"N@%E6U9"J6D5WK-'8@)(E4XB.[ B))V)!P
MXA[9%11)(I7LR*XP2!*I34=V^:N235$E4I%0)<R>X'XX@A;?=&]#$1N&\/]&
M-(UO#CFTM-3.A*)2QY(<A &U7SV8ZPI7;%4 &0(O)F,)DNW6=((7+X2ZSZ#J
M)%LH"6A1@MU%L2@+R4-X^HXU6J,;Y91?@X$W9M@Z[S9!MGCYS(QK-]=,E?3I
MK-T&L&8<[!%]1.L6VQ3"ML-JC%! /F-R+!&]$?;^BKK\>G@OW H?^]D)J_!:
M85.N"]$)"US\S*;-$DA=)=4!FXI]8E7"YL36;!:']:"[)4Y**^4S:B1!4MPD
M2SDZJWAH:7NCI&H5@Y5)#.QL$)4[UP:!)5K;6^HZ6I;='4JYFRF_H.$%G@+N
M)(B7)CCKB94EJX$+27$7@?6MM-E2 _!"T;.0!L4 5&<&J#[EYDOI.A+C8)0#
MN5IP=0B[S.Y4AW(]( DA7ISJ<$HJ:IC%$CL*+FSS6$N8*P=5,O=.N^&8I,PX
M)D=F/&?MD^@,=>RI\)6;7*U S684V CXKZBP$1X&E#1Z6M;()?G9P.W#Z.K.
M871N-Q[@"]]Z3M,\NL#[][CVLMFS#*G_RQL (H"QE8V654.3#(/8XN%L<'.7
M;\K- O/NBEAKA"?'0^P*)W+WTM.DLFL;/#I;Y/;=!F]$M<&WH56ZRZO'P?Q>
M>![D]]6$CE.7!/7K'38ROG:J*^8Q1DJ_89$9Y*];5%02 9@ZL/K8#U2,Q^I?
MX#8##I-;R;1^IR(S6RM"QR@=Q=5W4*9[WTAR-]O+8^'FLSKN=@P80 -O-BCV
M1( NBLCLLYG?K^F;?,"P4*!*![<6])HOLD2")U@6%KGFO?PY?K$B#\2"*Q'#
MP>%!?>/(EX4A@H[3R7M(&-KY%HT 8CYH%(O4=7-B;FJ"3A+<A1GR*(S,67:1
MV#EN9@L&!@*P$\#JAYI I!W^I>)L*_H8M@BX8 ?H'@9\F*:\52\BQE-ON)_Z
MX&O)-3Y*N5[&N.CU&\1?Q2I^@7/5&YVRZ_)LI[R9:1=,S9H2IRG3Y>C0O@U_
MZU_)T=M'&CH&@+MIZ=*V]8 '1SQ76VR#ONE=77)[I0>"<,AF^1FS'BB<^X!#
MV F@I+$5'DD%Y!&%.<8,1RN9?@EP',>8ZV".(H;4,YNX+E$A2^ RM;/ I<44
M=T'A=40PKV8\HZ'BYV*/7L*OIW87O924B+[QGE3X]PQFX =>YI9&I9)A!7G5
M+!T+QYN:0%&+A=73\XK?(XW@4J)J+_0/I%[4BPOP2'DV FO#U$B[<K1:K--(
MN6 BPU$PX*K54H6[\L#7$9O3;HRE[<?2LF@1<[1SP2+#*5V&U;R/298L$N23
M5? 4KN"I =OTEF#W/N4RJLL;]B= Q"\;%:/?XY+/7;R,JU^?[!5.[D'(+^L-
MH!_DUH^>=E][ZVO7O81ZPZ49!VXFP90FR6;T?)9I1J^UJCP,1UFC.LZ0#L+N
MT_,<1C>Y28/XOT8-*6G."5HHZ_1/ZH9_TD*UAX#K$,VT)=%;8-;B=:?QW&4;
M,\,@;=D+(?6-^'HK'GM(BC.)S>(+&P:&_!EJB*)^:D.Z6QUID!"D10(T+>]K
MYJDBX,+!UBBF%HP$["Q3G!M:;G5])#(R WJ$1IY?\O@7VV4'V6S2D4@?A@L0
M""&B)<6* 9-B*E+%FFHT]>A=XEWN*J4*\P <MQ65<E._DA8%NI/%<6^=,M 6
M%$*GZ)M(3*<D&04)J5.4.(>V8R\K/JL9V &+I+WZ#C<ME;8T*?HT\T8ME_9H
ME S:2YSHZUW1VE,^:.U6 R1IM/:4-UH[MCVT]I09K5T[L,#MK]@:!O!Q"Y T
M[0+\W>.^NWNOC?M?X^GHDCD,\/<@5V.TVFT\G<7S&R;IG'/N35#P4!)@1]T
M<JM;O8 C/Q0[1+0'%\AWUTSN]KV>+U.[P(4/<J8'57#M(0F)X\)['&_EKLZO
M&NUA_X4]!%SX .R0V[C4&4DWX 0\$#)\?4V#:RH8,GQVQ\CP'GPQ%CAB/&'O
M.GUV/Y'A@W!"P@GA@,CP]1TCPWN<,,^T1*J7ZQ5>L@>%#!_DX*-Y1_'<\A%Q
MXKW[M,P4T:,)<>/$>S!-,SN<D)6'S-T%?1@X\4&X)9I-6,R0:8(@PN/$KVDF
MWJ$CNKV,6Z;XU\Y@ZS$#MCX5/%WC%G1,4."*Q$._-1\4'F?K0::]8+-+NX&M
M]]A1H<Y\M7HOMW>K]</'=X=;'T1O1"OXW#YN?8 ]Y:/E*K)$NN!Z=88'KE_'
MM/$#UWOPZV(R:3ST*Y+8H#>60._Q3YX2F.2.1A.Z/"F0XEU^CX'K@W!KM$3'
M]H'K@^PIFNV:S7ID;T(BUZ^#<G)%KM_*?7\"L3\8$/OU(#ZF>,D)Q/X$8K\!
MB'TLCLH:#/O"VXK(U2N3_-/M[+Z?!(9]7^>%_EI >_/*:F\K\67U(5R/<J\9
M:K_0]?&,%[I^ ZQZE;MX^KQ9K$3B6Z'KDS&BZ^-OJ_)EY5T6NX,;. 7S!*]_
M@M<_P>OO%-/.H<@3>TV0TIP=0O7'\/RV7KR.KX,?P<SP(RX-')O"CZ3=BE%V
M"$5"VJ%(C%*Q0% DF2*148&[R RX/LB;Q8*^FU0>R)P=-J01%#8D2'M@N+5Z
MH645SXB,\B_R#,+I6]SF[71?>X/R^=?(01Y)6<'V?;^@L<^F%0?5R!!O-DZA
M*O5&628[TX_"OD)!^/)'8>.J@'QD +14:&\U$0"T?=?W)JC6_[C.,_&99=+8
M^2P3CQ)CMG9SQSV_/S\5UT_IW9-A)@'*CPO1 J^^VC:E4L,ZRZ1AUY >$/2.
MSSE@YP.#QJ>B@L9C=M!X P<<HH"K^-*<CB\-&6 @LGT856$X86$&D4^% I&W
MBT=EIR--/$2#:8_DT7!^67W9,>AK' *1,."4]T  S!@(8#_UPHY+RSS.O=S^
M6DWHE^=,<;"?I65!SCMAC &/%FGUL&$H5F903VRVD$V9P0@DU.*EU!)K14>8
MBTFO5JZ9[MPTT' +9@Y5G!1J7D3#I;+9TO,8<4:$0Z6OG0N1LLXV,*W\-!=B
MRW,AK WG**.4\CM;TU@&Y19F1?>[4J.@2H0#MWO=AV"X<;ZSD]@**+&M&5::
MG*0"#;/"-A]FE=G5,"N/ZRO3X,7;S("F,GTOLP5N%(J2J$Z5BG/D59#+B8P\
M\LHIEV.*AI=-L#%7*:\Q5UC0,5?.!6PPVBKEIK[=M,F!:P\=:@!6(* H@D9H
M6=63#A"=5#(@.BY1$ U91+M1O*R&D##A=$Q .R8LD%0HH!TGA_J ZZC*SJ5S
M'B[," 3#*S1EOW?]-&)2/?!>MCN3H;[Z&9Y<T#OL@0^@ XO1"AF# D-[]@(I
MP^L4>Y=R926'NT9$<-<2A#T0/FZ:EU.F.+H>[<9=BP$1H;@%:$C$%+]<\6"0
MV9;2#)X0:"MH0YYHD$D)^?WDBGUHS5]G#R,G&J1^T\8'"!E1TK<,A> &J>*"
MM;NE(_3"W%V^]OI2#7PBN^LC#"*>T3IP0D,G.T+)9:-[SU'$Z#QQU#>"G%TK
M](5B8/G5?E>I*; XN0>P _>:[\1DNOG9&0[&@_G%)&_O\PU1XNVQ_L1$.UI2
M=RU/\,+"4K]\N%[ QDU0*:,)"ELQHH#]T]=61[/2E*.6OP&9>,;9TU#;>HN4
M!VMSJ\?B5>GC6KS;O$&CL9L6*8\=K3)D7:R47ZK4'G=(!9!?,IH1OOT.J2![
MBI;Z#-V:D8)%7%"25>ETL*YW?"RI1BD/KB6S[1;^>C'HC(8;R^&ZS234*.6Q
MH\KUX/:K-KR[:Z]OOC0+HI<&W6;[5!!6CF8Y;[]]*LB>HIF2H<432F=8P+0-
MNZ?VW0;1=9.Y,!P07%":3WXK8,BPM>/'OU5[ HFA300]AOK<WEAD&.P6-KH
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
M+(?,+(LT! W+.6H&<[ET@2QX.I!*B%[!3-/.5JT11*!UKN$<28_GH&"#8NC
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
M5Q.^=EG[<%&+NJ@%<Z0CMVQY;=@7H#ID8U8!CZA%";*8+A8]X=FQGSP#)W_
MEPP9%B*W2J@!:":AP3D,)RQ^><%,0^:SLU)N&ZQ$V*8+;L!*MW*963V6"\_E
MPJ&Q$J&.( S+2KF$6<F#2Q;@1DL)QLZL 5C76.!:M)0(-%:A?: W$+M^&G#M
MSKVP>JE?C8(SE89R1"DY[409S+'Y6'55(1*#%0N%-($3GNRED0ORDYEFYUA[
M:(H>:Q_3K..UTW^V<=?Y6?W9@HZTEAD+O05'M9>'II)L>3SKQFQ<0D;B$KQ0
M2A?RGK%BUSLID^B1NUU(P<X;[Y.=Z8>X>%^%4!?[<>"$=0RNWX$7HSF"ZPY<
M,W616C!=,Z9AG7!E[A$#IWI(GE?"Z 8C(M#C2J52@[BX?AP?&J^X*@?WH$$Q
MFKE;)&&94S&4<DC68 VK'(P#IU_;S5N6OYR]# _MP%V5@\>!1S-*UQVXKU+0
MX@P*7L)P)L)!0P[^J.Z/O= 2>/-8EM+HJSR9DJ]?RX/C$)M*L&S,QB#1C$J"
M\ TBIMPT0BP 4S%H!-MQUU^_1O-V=2E?$H=VW#:%X'?<T:S#-<<-,1K.4)!0
M\Q+, 3*'UVK1')1+_,TK_&9U<&%D4GMQRN+%F"J-AC#$"[R:P4P)%H/7C5D4
MXC4BR&FUZ$@+_-I'I5;K;6W2%GR</+8%A3/)@Z\<#JP+F0D+ZV)R?Z6XD%S(
M? @DE_4+ #Y%JSN?W=0Z[#T7";RE!?&%3)*R/P-XUG42*HW.7D^QH[J4WU8=
M;I$A:U^#^3T9&-5%F]IC3J,XN[R<PW0V:8U4>P]\9OR<GKLQSDPD9HI]BXYL
MDNN3 W<D!X:"V+!U^ E] K;>1EG8/NVH#(Z:&OEA+P;;4)06Z!.#'QT[[,V&
M[K4:V>/94GDT$IF1/V!JD"WME6SM#75U#_-X&$8;[G$\.ZJ"CT%7=T9QQ[.I
M)AP)S4OLX*#EV@>QY;C #%6_-,"^ [SBN$C3<1N$>2+,CW_A#!7LYPNLS/MU
MHH^3/@@0/ G")#M^PNM9<4QY6?/L7"'8P_U;KMKFN*_LB/#BL4P"\9]BL\T!
M.GKJ@XP%RM\[V=6UMT%'K^/+7D_Z97SQ\/Q Z5D1\_'UF1'+HPKN/L7!2)VS
MK2CHO* ]2*3@FY7^D='2ZB6\D,8+7N@A!\C__^?"^OED6%\+D:F1!.O,Q20$
MHE,85^X>N,GBRF@=T1:!4<HJ;(,5TQAVX"+C1^58!6FS<@7SB,;\>=$-<^)
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
M=7XR&;9I%^()V(4#)9_"+=7CAT.#L!;@B#%61ADQ2D7SUERTAVXYC=TR7^Q
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
M2N.J/MAC3MB/#D1B/SH0_Y8I0/%_4_],S;15$K7K*#NAQ!$+3BAC/; !T!]
MY\/>+>V-QK^F_Z92\ 081$CF7_!>C3-QHO*VFLA3MM^^_ASVBS^271%<"Z*;
MMA2?A0'6EGJY<>^6%:@ZL?V%65?V/V=G6(-E./HWUJ%&0%RZS.<,*N3?&%[
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
M[Z)31DD8V%PI@]'44E+KSV":&A+@IR!J55,0B EULU#8<,9QX!US%K"22A=
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
M(I"(#( $2O$</]5-"'-L1/4=W(Z@Y4,I!1_=@!(>?L&%HMM)/*;E!=R<&7]
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
MGU/+?MH3K@K38;$'((;75O?J)]]$%)]_)]"A+;#K83(VKBOA5Q3X#:\RJMR
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
M5N0I%L*[2^2\,1$3L:<;)*('AF][4< '<7$)W^99G@B*GY(C^_AHMN0T/;7
M$@LN[: 9^0%/"<'3^DP>NV\U]^?-CO<I-UT<L?9T%<RXM<,]7CIFZ;N-6SRU
M.-7VY%I(OVDQ&&-B41R1D3 <XW(Y44"!,H&ITPZB;(*1(ZI/<2#>O0WV OL\
M9)[SA50ZG26+Q Z"""8RXD>!O.Q?&ZB]^0^;O&PWA)%F^J%OM2T?ZM).0J]U
MF]@@/N^1G>F/[BSWV,XT7APB5JLL=M;ZL+:##OBO/-MO&OX_?&^"0L)<@QKF
M49PDI2%[S#XQ7&FP:%A$*';(/F6[0>3CBC[ZQ*P&52@RAXG)E)[>- *;?1F2
MQXXL ('9:%;?PK2WSFQ>J@##LFE##H.,B\PA^1R7><+??&9TV_T$Y/VJ?F'I
M3<NQV<^\4IJL8%YCP;\G4$X9BP11NVVWL!X3CB-BO!I$[*K&+T8[GCU*>3L8
MF,A"+ML\,Z M9R 84)FOQV=(JIN$&B.X.)(WJ'Q5+>DF <J-=K2^H4X$IR4"
MEP5LCSO,RF4K2"EC"7'-XP\'+X#7H:\R"21,?+AD/LAYGXMLG%O8A+Z!T YP
MNAN4/7'UX7I^SW T9I'[I$,D2BUS IP(A\T!5&QHL#>QQT=]MB?P.Q[9(@W/
M@_FO(3.]<5R=]%+4R8T]8Z1;#HY=]*0>TY(N%@YOM+G+8@[$A8Z=!*:SF)B,
M0AJHR!T?&PIPH%X7WMPD[V9$B+P&_\ZLZP?V9K4?>L&OOV8;5@]( !P#!.;:
M>FP4ISA=R8<:^']&#\K;/*P<A;/NL+>2;PKNE]4/!2%G/IA*FI1!H/SK4"--
MGBW-,A5NKAR7V8(1A7B14AI5-L,U@0FJ$$)$5]X(F5>]JJ];+0.<2X/7HH#O
M)F0!6Y:B%&SAJD^(!%[;AVTQCA5,VY(6;PG^)!E<N?' B>ID3T9/QHR. X7=
MJ(1YFTN?^?8X"Y1;3R #+1)5.&CQ#9H:WJX^2A;S?>SRZ3-V*WR]2D$'$$8U
MS\3N*.2UZDF-613,%CLD*YL"-(R+MDAU,XX]D051__?_E+.9[-_;'CV&72'?
MU;^>1$WF<3'.9\]9R:>_Z5_A<]GTW_S9['?XB\S?WR;K!'D$JL^XT.9BBO&?
M-3 <IB8M=H$LO,/QI0+66X.VJ0&%A R82*I*: B(AE#XRF0BS)PUXL="[Q'^
MKAW!#13F"31(-QG5A/+%58W8)<"*<S.R-*XP(!B%,U&I$PQ+</F0WI!;;.*!
M2A69X9,Q9IF(I\YU$UZKF$(IFE?+-VY3P:T#XL*&73&]YWJA!KU%U%H$#1S,
M0N9]9.@(>>"5P+M[["L=WGS5;H/>P18O!XPS7&K7&!"V>1,:I=H1/%[.)T?/
M2:"W\^U-WYFF[FP?I_RBUX3UG\SY"D0$C1\XLD_I[\212*F#-:/4?=+BG,5C
M9;Z)PEKBU"O*'9;):*@1#3^P18E\T09;(&[8@;TCW3A-, J$H4!Y&%I\&.-7
M:R%EM+K2\:FT7:9F1*(U164E ]UD^(R5!.NB)!A#Q*U6U(LHU&E:8+2&G \G
M M=@X8R5$/]5+*9R!?9S,9/2DFYE'5LN!SPP(+B8(J53J(8"Q9PI43B_HM,V
MP;%\2#)OTF(OZL/-U413J8X!/;:C<3I(@S$"63WT[9!=9?"VL#%4:%M[ )>1
M7>.6,&S1ND!R\);&./++2)5-\6)[^+KK#15OF0P=$*HB/!P[S4: H^P_/-1_
M-9#G3M(3)T@HIPW'Q!P+,%V8"-1BPN6PGX+Q ?P\&21 ]^BO#"##D*.<,,$2
M[C;0>6LR$)"<5@T\S^^\-F,4=F*R/3'HY+IDN$)9D1H$@*Z_7I/= &%DJB$,
M?5,;6R93[$PZ'#"ZZ85OJ+E@GCTZ\HSW,)=C=49C) 5C'"2),> ,'4)#,*D0
MY?DJ?4BD]PRH$/<UKG?BI04RJ\,N"CBP<"@]"S(Y=M +QHFIA$^2##Z=F+A@
MHP/!"U"*FH'L "N'39ZLY'1NRP1=RP&KNR.S6-RFB?4A<XU%O;GR!G #H3M;
MV87:40,;",6@%#@FQ@(./0,B"!X3BNS1R45#]!6\1)&MXAIW8-@.A;L-B&V#
MP^?264VLG8L..\3N9GE('M15!HQ8VKB$0D_']X9,!?,34OQD_!GM,7BB:9MH
M6Z"1 4_O<ZN%#Y873(#3ULECX?&G^+IJ>%T9:42P0:$>A9^1X#9.IP%;@UES
M8[?;QKY0*/>G<!^GU%"T:8L@H# @99Q$]*O P3'GFSV HB6@'A67J8G).@R@
MZ* G0-B3\H[CTQ,3;U ;(38 N*=^1)G*9%R(Z"N1$Z;916IH*>IS^R_AY2?X
M3]I8UKW5BM N!+:0JP/+4.1KV6VW7""YQCU,4A]&B $^M#H#L#,A$.-[;9NH
M&]-%.3/<IPVMP6.6*/RAXWA-T'Q 5_":DZ. -&;UL<,>V#Y3VE]K$ Q>R52^
MJ0+=P.=9X\&K%$HIN\4L"9^&'&%/!T111N#3VB[&E9@ZE($T:;VKG](<@RE>
MY&$Q, F-9:-I(&=>6(+!H:N?+T,VBY BE[(C]%&H,+850B/IS]"C3 NBB;8K
M,0XL#7^O\":%%T5FV .A!>$[7[G\ ]O@26BZN1Q1 MT?MB\\QK&N=O8NA['L
M6*@/E8B64"+H#> !VB+7O$Q/_\.:'HE2A%[2,4(N8A)1C&^24!H8MP=):;3H
M:&0 ,H7Q/9!TCLU\.[PE*=V"'V)E+F+P&%LG!C(]_)*<:X7R+NB"1,.X=>*&
M^Q9M \SXIL?DO+)N-!<! L46/:-&C/K!'$?(UH!\XDL(;D&K(HO&E2.@7"+;
MD6J$1Y!0@I#@HEA?*PIXQ!0"6)JP,^!-'DKCR%4J-< #=>Q;N)X8MC)\B0/"
M%0X*%G0%E*TGX[!<$- C4_ID VU* \T!FQJ_D+RQ<YI1K\8;U/""C*XK_6GJ
MO8MUQ,25U,:C)RJLCKK1T#+,D0P20ZR!>1Z.UQ'&/?PW $;L>X&-#>F F<.#
MB8!#HT#:6&Z'\X&LCC$A>F1I=/+\3[8KHBK*=Y,G!K(&6<MSK14T=Y)Y"\AF
M8+Q=Q'9EWN/CBH+W4&U2^&.K37*?U29O6&WRONI6EO=D)=0YKCI"LHU N$G3
MGAMZ&K=%>1X).(('-9DO(.Q[2NH11H-\@)A3"2!9:EFFT+=QQC"9)#3TIDW^
M<IPN=$U4(HH_A8(8'DT/)Q_! GU+BH"^F0BFR#)#5(=]9IP8&!# $'EL"4-&
MP1]8:DJ7+1U](4AS2B+RG)5U;P>ANMH@A9DE4+,8D'@R(*9H-]PD&<4RUDRN
MGM Y8"BSUVI3O&.AX>)LJNM-B0A*QT'"HAGNHP%MCIA$V"\XWU15[I-!FVGV
M-G@>4QPZ]*V9'\?K6H;)5!\%6+OH[B2,KHF$M!9@1IKL",?S;H&G)]4X!&)D
MB(Q;6J3^)S(![ 99S&O$!XJ\#KE+B2R]"$HK-0>BC(P\I&#"04J0GBHA'+*+
M$NY\T!4!9A[:42PT\H2L,3<('DZG]($MCPN$VV.,B^$1JKMA_-&T9'55PC<1
MDDP3I UB3X1_ 0D>\\)(GMFT6,,4]L=H'V?/1 !B)GMJY&S(DU.#:/P0>4AP
M53]S0E&X-2.FHK\TIJ+-%5.15W <?H?'Z2$K$&$! 8HLQ'@#WH-0?<(5E+A0
MY)FAXR'^IM&?J,:N:8V8>L$['%@S4D1J)I([A.180NR"D<($AIDHK^?5!EAJ
MKKAG&+.3R6,-ZQ XCAK&)*#N DO;)S\,9S!1:-^#OA2$=I1^(@=2#!/^F1ZY
M(EXWA<$TD7[YB,;$&T#"U7P;V]?4(H!-&4-><AW%1R;<,0<+/&9,WG%MFGKQ
MD6M!5&5/X8= 98H39M^8AF\&B1H1K9@NIG1!"[12:M(J1 %=DZ5O:ND'^YI:
M]P'1&AX##A-SX0G+E=NR(7/H@D2!$R_PTGPZA >+!!Y67;9$GM6A"CG^6BGA
M$F&6'X1[288PCV*)HCT=@O9P&TRT05OA1!L.FIR6WX9Z029M-"6DD^*EA:0N
MR?)6/JI$?^1KDL'U69]F2BDN6B2E!!B;;<IFX0H]3%2 (/0P$,QC)Y1O%KO[
MP%:,8#N; $V) :!T1E3*< QF@>LI?0<R'>*B3)FOH2SXP%H)0JN/4-0.#]=S
M[GE[)"<U.C >/7AV4Y42)W@$UNDI)*?0Z\]$0<GF^_?S8'+0YQYOXLJLRK:L
M)V9:SMD55@<+CGU.&H'Q=<??<(;X6WWM'"W?"7I,V_L3R\HN=9_3Y8>,@0LR
MO/6F<XO>](;P $F%@##D0I?I@9;UUOO++WI_5::J1.!A<GM42X 8LC./_&_0
M*&],AL*BR7 L)+T4ZV@C? 4G/?BF6\Q7G$=EKDZE@^A.?Y5\7[[BFS^\7_QC
MP_OYS_#^'QO>5UT94;HB[6K>7X>E'Y2A?2NC;@G/SS!_)VY#.1DQN[47+.]U
MV56]6H_?B !-RWI7CF\-HQ,G5&VUO+?E<:P*5 >@L\NSS&\01WA3#&HJWEQ'
M=P<NB.4&QO(C%V^(RRZCN )' Z?H]/J.-[(L7NSLKHA?:)@[6FER;(V8'M/:
M"\ #+&7**YET2A1O_=?^YP3*$U>(HH?4]_??-?N?E"CF$O,K,)M!T8V>94!-
MHJR>\>,(DL8GT,AUJ%,&$$T%7T<+YFV&U+('?5HF6H%B<P'O4&>/Q[8LI6>1
M,F9]'J" <0;,A(3H+OT% OA!"ALP)>GH+Z(147&91<&IJ;<-V]?!\[9X+^-,
MZK8,'TMX#;WC&Q @%J !;0O;WR"?=D.]CZ(WEF+[&*RG6EB^-*2 "&Q0X ;(
M(?8R[>U@.[>Z[/7BK: 7G)$2V7==&P8L0<B9I]DH,?I8;^0'4!;J!5'KA"WE
MZ+#D5N4/C1T1-OY0[15\&NW%E9-6U\.N0OS<"G@A>(3,\(X<@S!W9EZAE5QA
MI3Q6N<P[7' \E;#QQ>(TN;A0,!9O;XV7-<9+/2OL>MBO] C'\.;)EF]CFASO
M&7] (OTIVI,TD6>4>0N%=+04PQTG"<61H.]6U*4V1\H^R']3\M.0E.L1]2'W
MS':)S]7=J-?$\)X&[;M0RT77!&JT -X"S,"/#SHQG4L''E2P8;*)KK2\K5V;
MD=$'*T%3Z3F>U@-AEN!Y:A\'AH-Z1SCX!-\KC!5 _YN-@5;.5*I6&9>SHHQ"
M!%8B'/W&7Z%J'RXE?3NX76E#MQ7Z[G8BESVV5ZBS,*@'P.?Y_S,7JSZQ$3/0
M3WU4+B-H<(A\S*91L)/MP78,J# )^>]_BS[<7_2:QYWNTA_K=!<^G>[WBN#$
M_A\B]"]]2,E'[PVD\*-M_N^+\6\ZG8,T-44*F__4F7>M,[_T*():KQ!+JE'Z
MLU\XXN<-.V@Y'ECX@5;%OM!]JNH[9H)^]?<;IW( 758 1-*"&_&V6F6IM^LY
M((7C;)./V69^\,%'X]Z<_30*5$!REPR/0^CR-(';.&^](9#ALH8HV?]LQE@'
MS,:)K]2LO8//_>N-C:7#6B[]="]$+I0ZY:!OD8<E(%Y:Z]I66]^DJC8FZAI0
M20FEN_2'&!:$_X$FG;'%>8[#09NP*C@N]41#'+TB]CQ"GJ%7F?&1\UH&0H3J
MRR/7OU*/=I>L:[2;VV@TVZY^'(%KFLD9*YG"5^L;+B13,/E/E-*G7F)A)K-M
M$0*L7FUAV7&FDLMCPP\S<K#!\RM\@4=^Q(<U]F%1R/(MI8!C6*XI_LEK>K%@
M3OA^;+7'O&9W/3;Q"7Y+LG[J6437QHGN(]6)XE %!U4O9MS'E%PHOEH@.,PX
M 'WL !!=0)X>QIX QLW2>"L0YN#P#DM<$\(/XL\F8D1*.Q;B+H@.1[T-1:K@
MET7-GATJIY8X*CL>9YL20&'P3^9# P+>@V5J%&7C=>D*P!<&!L2T+L"%(">/
M__5DLR912?Q(H!C#INA?X- KP!14I=GK12[6A^->J:9?U-&FM#@&]ZKKY//[
M!,P)J(3,XS6H@P_;S 4:FLDV%(Q%$<1):/'YSD#_780P^^!:J!9#0N/<5Z@M
MYO2G5KWXB.@V0\'I\E71&T1@8)PG_!_74W&Q@6EM08B60@AM'#P%6&UN^=Q.
MR&?V$Q=-ZC7_-@6V>OJ<U1C%2/2^)#K"?>P+A3")YR(J=]PB.O'YV1N>0(N!
M@.''/?'Y"PK*?TILXQQ"NE!!,27,4?P,<_QIM07*I,3#ZO&I7J_KC=.=S6.]
M?K#5.-ZOGM8;!TN1^N/S#U_]^'%7M3 1X<BLZGO,8'#(O[* XX)%!2Z6+\NV
M^$!KM(?@O^AW (IE$_IJ!IXS(!WD<"@\YM]0?SQH%P]:4VRP\'QJ8(, #O=)
M%&B,!$*L/HD0BZUXB.TI>\^HNR9^/60EXB6@VM*&,81O"UM="$<D'E)AF)"8
M%%:WZ*B,E9&2*8W1#A+XP9ATD(V+5$((QK(=I@1B%,!*,%,5#,41/(>#NO.%
MDK2"WS='N G8/7PY:CIV2V]ZS-),Z1W0DB[EISM,.HY2 '747F&6*-C+'CZY
M8[CV@R&6V_3,D0YM5DAV9M[R[.^MZPT=R^S(G(XE+6:/#&/I-8IL#VAY=R1^
M"]V9MFD;ODW0K5AG#X8(@CL%(7Z<W!AAF=-S4@+;M,=X!+-#J5G/'7OE.*HA
MAZE5O\'_INS!3V3K8:NV+P";,%U.]A2<#:\K,%S)$<+8GXMQ/H*I,BZGBI-R
MJKJ*055]RT"B?1P9I4!UAW(:C6)KHPT+/7NA'4+#M3A&37Q ]@-#]E!OT_[5
M-NS8Q>9V>]5U(^FG@.#88K*+;69E-X6.MAG7P2M!$41_$V8X8^J>C5B^&J##
M,J_3T1-#U3\60Y4F&"J[JI^YU.V-H9H3 9N\R61A.!HGS!G)?*XE/Q#['7BN
MM;P0YMLF:,K3$C0;5MM U7<&8;43RP4,S?CT/LY)D:Z6V%!,1)BT-8F9QXO
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
MA0H,ZV#K;AC.X]AVJ6DR?-$P9Z4TT*@@QM(3]C?Z-!?\GZ!F\T=B1:4*C-]
M-R[%[ G43[VRQV<%6?;K25000C>W7#!W9^4FOJ1<!78_<FXX?J+8P+^;P=9<
M,HOF=VP#E0JB@-=ZS]:T61H90A4$ZI,]<XG)_@5N-]^X#T30 ;VG)M\C79\[
MKC/B(JI:<--8\BBP$I\-Q_71. W!DWXWJEH%/XT% M 5<Z.Y">HL;E.7B*?G
M4'$<9/)M8M "<\*,L1T*"M]O\3J738TA$3:SMP[>EU@C,Z$&/*SMP3.QAN7U
M@E.1C<PL=H"BH]^#Z8+<+ODUP.VPK8V7\LOCQTU-Y 5/2^CXO3Y?4"[+\]AQ
MO$2>>I(6._F/1:Z&[0 3"?EBPM;ZZD5@&C;#5$6B.$RE;)?!5$_XZC E/*':
M#P_"6(*J6F7!&=LP '% 8P7_CVT_&=<M75-VCRQ'HLD0*BOE+8V2R\SLTJQG
MH</:2/9GD' SX?9V2845GLI^7I_9"CRMD+."L,TME)4;-QL.Y!MB\5K-%2K+
M?7*Q/OU^A0Z]X:MID3A-5"3\%,EWL))T!:SWYU"2Z:2N]-&]-D$MQCJRHO((
MA\&-NGF.>%LABZF?I/2I((<,H2(RW7BFR_8FG5/AYV.#I9WL;@PHZZ89W@^<
M;5(_>C(7<'Q5B/_,?2HR4_BK]8:'"[0^EUZ02<_/,EQ<X,?UH<A,^+H38!Q"
M<PO9C3RZL3U\!*,&3HUK8!5+9O:=O>;X-H!+X_=J*R;G^;M59+X2U"/^$XDJ
MA6XS<R\Y@')SB+9E8EHV34@#M2K2H0]R#7L>@+#V%!0B=J%CRIZM3WK]E)"$
M>1CU!R*,,/W3S',Q3F  KE,/HVR)V_$2/;]RV"*X.^/XQT<JS!)>J4F<8@FZ
MU_89OW#Q#:8V-*X7GMB;7HQ=5:6B@</H$?IL$U_)" [S_&6',H+#[?"7%6K
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
M#">/2GODA,Q#("G+I.#96OSK&YS6^> >$!;H1GL8BTL#X:KL'@<@0K9PX2'
M OVT%5F>..!>5=DY)'=]2%(ED47C)<CUHQIUT5WFDDLHW&%;T9:2J_*3'S7I
MUKI#E.<65'PF,*%+$<B>X2]N'/P3J 'Y4;X&9*\[^6?GYG;\?;<&Y%;B&J0:
M&4'HH6PI2UKI(UPN#>^5>##VW+6?;=-P@ZYIXM"EUQ+NB19,&^W+^^7+U=7Y
M!9&P;_LTS8ET2WX8=:>/#X.]"I?=$1']\>ZN^_ '_<MD^&TTO!GVNJ-II]OK
MC1]'T^'H6^>>J*DW'$SJ5<"M_6=H6_D\PDB<RWUQ;H?_>ASVA],_ZF6JCYX"
M%C\?]OGI#ZZG];)"X^=V$-DZL0PR"*@)(!<R@*M]#GOCN[OA-+9QBCNQ?XKN
M8%0_M,)<T8CCC_L<[V2$_NWSQ?FG-"6T7G:3TBZ)ENDUH>V88S'^:9_QA\'O
M@]'C8*/FAVXO.Z#J-MEG>B 6L6X_A='3 ([ALAC_G+?BF^%HD# ]O'ZDLT3G
M_K8[JEOA#IW,[PTO>)UZ!EG^358QWXCG+WEEWT93^'WW8?I'A^AZ-"'JIM-;
MS49M.&2Z[OH^"EB,7KS/F7/W-II_NY/)8%HW<^&3C_X,:?K8FLX8+ ;/<PP^
M7D_(^"(S1(<:<-T\'K#B<5:^BSI6OLXOZ1=K]@+H>A.ESS)%RZV"=-7I_!(3
MU,P99_F!&<XMD]Q%J"%)\JL1+$!N%877I(:XYRU.L!RYM56P1#4%168.A9G/
MK:^[,VE#O!XP7?5IDHKCCPPO+@W#$C*W%E<R;25?[FP^K>@&35*"=>@^8V]I
M))"(KM)PB11%>\P%LD)JM'GF1-=LQ*3:W+R1@&L_NB.K&"VKX]\9_\9>+_0#
MO"2+ EP;G]5.W7T;:95CK@ @+DTB,#*61) =]GAEVCG-FR^5SU$JEN$8 J#9
M0OE5(:#EI9J#46KT%DWZZ7/^R]>[K1J_V"%EU)C/;^6!?8%&+Z0T>J'N[8!2
M&LWR"TXF-6GT4DJCEXKN8Y35:)9?<-17K-$I^2M*&>!JE=%R=J[[\ >9AN<
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
M0\S6V:RF1Y;M2[*/O9+M0VM^!,=TL:D<,L+N&OE!]%I>O<GW95EY"S;<N+Y
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
M<O3MP+& *""098-]HOI_<:R"S=F(AHY]NKND$XH_Q63EROZ]A_U@A(,_4/"
M3#QWZ278>/]P ;AE=7]6;WMH3@.@&:D+*9;=<L2E"[)A\?CTJ89M'/0IO:VJ
M7JE!2VI?^#(1=/!"_!_;IYE;=5M2[E-_"4L"I 8M*1-__.UL3R&$UQ_IWQA_
MVND4O03(M;:1YQW]D;F73*CFPL4.GA._Z2Q2W@-:(S>D-55ZV T\PPR(TT4O
ME9-1T$>!83O^Z>8OOH^V5Q$#^IK;UY,O7ZZN/KSOG';ZMF\ZV">;./+#P^#W
MP>AQT.F.^IW>>#1]Z/:FG6ZO-WX<38>C;YU?DKY)T[3WCA%U__>,+A3+R_"V
MLT*?5R&TL_V&!I);Q&CG<P_-J;.6$+!$OR@O>C_[B8X7?^/O)VKJ$FQYB1*5
M$XESTP.C'(&04E&E!39?4W[*,I^JTLG:<)R3LO7 9.':+[8@H1/V=;B43V+F
MR/IZ$G@A0QT' "MX.W?S'-PWA.>>L5K8)N\M:DYS984CI72/940 <6H4D=A"
ML]SQWBWF-&^X=J.4;K$,X^!Y1Z//2E<%A);E#ZL"J\DZA@*\1M@+%MTEV:&;
M!EBTD#3,MYLU_TZQV/JQ@.%F)JM"^4R)/5V'/EDN?3^14?8-8C99*Y85.5'
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
M2<<D6!#,[QR@%<$/ >(T8ND_U]+>7B?LBA1FP TYU)(@2&*$)USJ2?!EV-%
ME0KB.GYI4UU)/XH\$A5/%%*"5Q!)D(=()Q5((ZDJ19_<6N*PI/WC_NV[AU5<
M)++)I2CBK$]2@&M[I,%S$-Q0@!)S.=-G+'WSVW??/GR'&BW'U7^7K4@0T2YQ
MN=\^9(DB^Y14RA4)-! ;'DA$0%!!C4N\D0[5HJB2]9&=J@=68L[@N2L"2&$U
M5=]["*+298B$QM^K:T\N?_H</K)[DA4'$N1BKEV_#.30_7=E0%!  TQ,*5J)
MHD;6QX&$0Y>U,0\"-MX& 1O#(& #<1"PL1T$;+P- IK75BE"V-T4#TF\"13)
M";72KDFA@3SDAT04%%74^)0^HU5!!QW7&2UYBK-9NL[(EK__AOXAL5(AYRRG
MI0YFF]12)@2"(SID0EK+*NE<1Q@Q:=>\**.XP%$%YB9F=V3%0=*F1Y2MB)M5
MG+'%$GQ+'(,\# [9@13H5*DUN0Q;Q4.J2]=+Z54 QB\X2?XSS;ZF2QSD68JC
M:BU%ME.DEW<;,6. W0^:40B#H),-0D7H#%.Z_,*T4*-6KX1Y8=+/65*F14#X
M67(B\TP*.;?,4<#L,V8@!(@I<F0*AK3"J)+V<T"[RA[1#K*8PY.F@-&+.SZN
MK04].+4ME07$&2U U1GN.N?'86Q<:7DZ8EE@=E]$_(2O@R*HL2GM58F[/E2I
M ST\32F3!40A+4#E^<E6AZ6*"1I.>4L90Z[H4&N3::+$!U+N$\<($,7<,:T(
M('K(<&DRR!#4R'KAPG(;),F',H]3G*L[HH&46RY((?:YT!,!Q 49+@47N"AJ
M9+UP8;K%9$.[MX\D^UH\UOE9E;8II-UR0PNYSQ&I*""NZ/ I.-.HH$JG2:GK
MASS/AX3B599%M:424<>T48(=<$:0@T08%3B!+0D.V7K+75:@588^YQ@5CQCQ
M<-:(_M[)!%^5X^NFD3!D!R*J47D:!41&(9VP\UM'E("%NT<$21!$,L)3WT/2
M:J!&Q3%KYI3#I#N/XR!F!=XJ3SN855PQR!9\PR.3/ @V68(<<HJK]2?77!$Q
M39_9C+K)[=5#O)Z0XY&Q!.!@8-R1 ,$1)2S5L+A[5X"?W'GE0Q*'-TD6J%=9
M>C*.,^:)\ ;)\@X"@!@@HE*ER.."B$MZJ?\/0?J%E+LBW"](%F+,HJSRUEN9
MUM\LM=UR9I1)?399J0+BV1B\"@8>BD"=,BXZ/9;/Q3P6-,ZRN67AE^5C0#_@
MO"QRUH-28.I5<*V2X^T%"P,&FPP:#4#4LX"IVG#@FM5%X!>H4D8=;4_SL_R0
M!1!''_;W[,)R=NY@A9^+#_1%7S0S# M=U[,W:W.&DSFC(@@2CD6KFNKEJ%L
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
M=B.?ZWCGU#U^PFF)34F813&WH7-RD/U N;X,&+XH@,DW0^^G/T_O/D/(1-3
M-ECEAP@Z H"K>(O=[T;4>ZVSS*+S-4N-RW?R,7F*0YRS_*(&!V&CZ'908VM(
M?VACT@+#+FNHBG-]\^4*S6\0'(=3&52W!*W1K8Q[0@W@B=RI!8#1I(]*F^R
MRK-P0S >Z2/)\GQ!LK4RT+\GX9(2$FA=0G0>PPK7$H')&?'Q?KY<HD^3^X^S
M.^\\:+,AU'?%&:\-4<M[R7"A@BW-;#$4!N-.3 @5F2P6T_O):G;W$4W_UV)Z
MMX30W2QQ0HO;T+[S4T"^X(Y-"M-U"FYO+#(![U]>I)(&PRDC1,5)C""I8T6W
MC9IW4MWC'+.(?&I+)UV_GE<&';?3*POX_3F71@$,P6Q0*J;CM2:G6>?&!.]$
M^XA3ZHC9(:9)M(W3F#EA=FA83S6CEM/1DYT)O1&57@4,X>QP*@9=E2YG7%<;
M0'JGMO/G]X^P>S'K08!IL"#*>QF"J6!+AV!#85A#>!-,[0T?;5ZQ*;A\L+,T
MS+;XELY/3(9W);VP280JY=%!#"B#!("* XML+GAS/_^$ZM'\_,[_A2$\W79E
M0*<-V%PHJ5%RGOS<:("0 EVI :8+M(*INWQR=G<U_S1%WS8SQN_\3QEG:8'I
M=S*,YP4IQ[?ZR2 .+O#KBD [32V')V>*^-^-=I/JW#MGZ@L!TJSO;O44,BEY
MN)[!8(#DD@:%!BP/98)IR[OJUK28EP#C(KVQG -"MU%,@T$RXU#K.))UK^.K
MM&AG6/>C_E,ZW.'".%8?R#BED0Q>CSI= 6!TD4!37!PS72$V+O?.AB:#3A-F
M_B'(XU!AGD+6)3NT<+LLD0J"Z<%TZ(:$X<\0I19BK$)4!2U!'#$9&G$=)Z5X
MRM@H[9,^ \@Z M6B8"G4QS<D4?T4(HU^P?'FD6*;/-&.=H/O2I8":;X68G]U
MGFED&2XI=Y1Y72*.*@ ,/8]!/21M4P:J"ZD(FU]R':B\K5N:[6&"T:4 X*[)
M1 OVJHJ SE\#;EL&U\7H.'S..(1C<Z6]<UH]=.(59]&R"$BA&W1K< I#*;R)
M4]9KHH> /@@QE/3CMM["LS^P:O%^V[0M:2P;L(0QISG^H<CFLZ3P<7[=/Z4N
M/=IH%G>6K<<"=)N=1R/KW?=; AQRI-) UVC7SP]PHB..XYDB/5IFJP2!->(A
M,SL-\ S2'C<S\,B)YYF.\SP*<<<<TH(>L$<J"XDW.H *QDQ]>!XI3I/GT2I!
M8(W6\V@TP#/(QO.H>'0JSW.:;-25/=<EH:.R!1_M\3PI_-F<Y_+)I\^8A'&N
M7(L\HASGN:R/,5.8OHTIQ#N%7XI<8#6G<%8)L\/;; <.1CSF(MCSB_GFZ]98
M-KG@(8&*KZ)7<9HIS )\+T&81AY:#(L%5CG-XEJ2\BSW'T*@:T+5SS<9:4Z>
M'M$,)65 <9!*\VR=HU# JW",*M1JMM).?IT1E-?R4#G;S2]T-&F5A0!@K<%
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
MJ6P.H'=>/E)<O<AX:B7_\4.0L[WY_=9J,V%T,4[W&(XTLK?U,+(,,$0^$KC
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
MV9;ABPQM]Q*/*L4['5\,?4C(U2,F.&""K\:)OK"%PG2:+W&63EE99$60W)[
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
M+D:LQ(AZ7A=C5&9HUV.&2G#89HE48%ZKQ^B7<_KE?#6'A>Y6NMXI>(T?BL.
ML[8IIK[U@)Y/E%14'*'ODI*CS>I2TUH9#$7'(M90E4]OO=-R08O!A."(-[B?
MLX+.3^[9C%S5N>H47!+/#+S+-+4T&&H9(0ZYU"K4+N^)JR#"=0 0*PLQCG)V
ML2Y;5&<3WOFZTV+Z]BH_RLA2W%+P*!/[O!Q5!""R'H-;9'!52G5C<GC0ILZQ
MQ^USQ8)B$N/\JL7:CC1666=EO=H8DBZ;CM)W%Y]YA%F'U>\1RM[I>"QB80+,
MBT!7'=ZU(T=V[VS(R^D-+0$XV&X+4P]%K+H;G;J_7MULE+J/5^M"6T<<B1O\
MD)*;4>VC7Y>$#DFJZ*2J =[AK_R1\CH+2V6G:X2C#.HM%UII>G>C1\%5+U+7
M<^]JT_@"BK_D5AB37/C*0Z%/%0$C#$$)27KS;0[;'?']O".]T5 7@#.2FV/A
MB_J*<#@V JV*?A3/(]M[NZBV8KTS41%R-GX56M0#$!(X<A5ZJ 1M5&8+^%4N
M1BN'G(<@2,WFK;4VB)F#W"2KB4-?%8QO'(=W!$'/&L%:S;&GPVFZN%AD6F\9
M483C)9?1Q@U67:SUO5/Q!: 5:R]3<>U%MA)X@9: IA-UN+ANG-R*.)]2#, )
MDXKZN7<N:4 )8791%+/8J2 !-:NL0?,I$1VG\M\LC!S(^R*(%+:*+3UAD-21
M(10W'J@,VF'2KNPRX7-U?,QO-5'[FLY-)N:N U.#/'12HHQW!AB #2N^$3HL
M4YVITJO5,#IUX"]ISVS(T"M%G56^ 6Q+ (4<#!+HP1E7*W&CX(00[;E(LR4=
M44^$$, J"-'*023$$)R1$.V)TK/.AVY>/A\:483C^=!HXP;S(6M]&(0[#K1B
M/G1C.Q\",A"^"G9Q$22?T[CHWH"@6EU323M=R-1#[BU?RD6]\\X.GV*!/#L(
M^CJ*I-MPK'Z_R0AM$4]TO#Y^AU4H > AHN/P"S7*E_&J]3N6%@'EM0:R<1">
MMJM>4L'R EY-_1K@6U<OE*VMH\_"-1/UP=EA/D%OAFZ+9B-/-_MW\/)7D6CI
MJ ]ZDI.;H]X,IN=T:J[Q\/NN79@ZR8J4OZ3RA_14YH1HIRG_5:2,5WV6DV2(
M'Q8.JXV=T")A.9?^ZX)?S0"CP1SC3JYQ'I*8GPP_M:?J%?TJ.C')QSA)%]4I
M%U;C.(TQ\G81'>3.M)1U$\3D4T"^X(*/:VE;#2E(VI_)5DDTPLZ6IXR VX4H
MI:1W_EC!&S*"R:,M5ZAF#FRL4:MX]YV=TQKU>D8UBKK';+K#9THW95$2W)PX
M4H9NC2[';?S<D6;VX^E&%N*=KR]%/J3RI^ YWI9;%+2I=]+A$C[]JWMRQSO!
MCQX'-?.(>G+1^81UBS_UP,OBA:]BO&W]X4XR #>^#4PC/+N)PE"DUD-1G(<L
MJ\,%I)YG$H:DQ-%M'#S$25S$.)^DU;4GG9\4G])2U_'%-?;F#&ZK,2N"(?$8
MM))[:9@N2FK)O7\.)KQ<',DG!'0J3/]4W@MFJ>R4A:,,ZM'02A,.#\? E2[M
M7W(_RP8KK1;+<LW4SC1EFVYW2;;'N-YZD"-OLR!RUY^O,CI8ZSZ_RO+B+BO^
MAHM['&:;-/XGCJJ%FG>RR<KYW^EL NGJ\[7ST'._T'MC<FGEL WR(OJM+Z2%
M5#MM?.NMOA/^E6;L[$0$G"]CI_"27]^#VXP]FXGJ:+(X98-<=M7=[X%)GG*_
MNF52@8GKS*]'\ZA)EWV*/+"*H<)5=8$C??4]?L)IB0]N5>;#M>+..F@+T&W?
MJI&%T2V: 0J'_%H-1"J5G/[1*)V)*!_BA IM\CFY"O)'BA'3]TLYHI)T1@\]
MU)89<C$H5TF9(0YI<8OS_"?4J+"K<D*JQ)C!M3QU2E=96I @+'Z)B\>KDKJW
M+2:3/,?%'2ZN2D(4RW06:H[CP0HVCM1U'&,@2\[M<ET4,(5SG5MIN#%)H^S
MJ%V1S]//[*K>78(+'MG,L4BCTD<7X;S5CS1.< >6^C ZC^- #]G7^@PZ_/VA
MYS=H28A.F,I#62Q>O2K,U8@D'SDDR6&,222PU8.2W/6HQ+(#L@ J[X:\C%$:
MGG=6B%<X?$RS)-O0OY?[7))8?I2F.SJ-,N5 +"LU&/WF>,#*7C,Y:+-0L5I_
MC_)*W1W=FF!OZH_IT[Q,"O&8S$A=GY33FJ,CG5011I<Y$JT=Y]H3&;0'93UD
M78;W?2?9F+0Q?#]B'-O1<9R-R@S?-&UH%6"XO3%056O9(@6],^TZSIM@'9Y6
MJQXOZ.X)TJLXO>C  GSO;@.-O'<O-P+DD%]]%;8R62N!N2I(8=2MX=8@LQH
MN@E&6%#N%MRU0I9 1U#O%M!E0S4HEAI?YL"GSV%2LBTDMO!#_S]:!<^*[W14
M22Y9^@)3N\0]HA@P7#X>^Y#>=4F %F';L<;(5=BA'KQCN:-0VXSOW<T?;S)R
M_(J%2MGG#%)OD&X**=?T[AJ.@FM#,AZ0XFSM0CKEU2^T&E5<)J"Q =]-.*.3
MA\$I.Y"2A#*RA8<3KK6>X'*\-1W 11]P2O\HV+&U&C2+Y5(-(O4Z;B_!LX#?
MO_A.H^"=:V-0"FZ+[0OQU8?XH31&.KVL9VQR(MUE!:XVOB4K"29AESV?'G"W
MIY-+>F>&%3QYPNDJ>U5*%>IP Q W5_?O<_R<!MN,(J4N\;H^IJ)L&D8]?[=P
M:LQ0W[XI48*RS3@6\)" '<GV^)%KKW2'AU2RD/?OFSJPS>Z)"@/W4 >$(YS4
M!4KQN?BR('$:QKL@J:XZEADCB#ACA0)<2X3!<QAU+P<E20!=2:%@>T9W,"?Q
M)DZ#A&?Z4G0I.D%G5:T%VE:X5 I&M>N@#2N_D:T2JIVL2SAE_H/K^"F.<!KE
MTN2O-@J>,AHH@"M2%PRDO5/)&J+8?9S\@E!5CU$?I.Z=O?XE8&</Y.&8!@5W
MO8D-\$/?HI/VSA-KB,IC\(/4%.AKK>?="=4&U$=4JG/^LS0D.% >/M:KN'1$
M-N"[KD@G[YUD(T"*UQQ4LD"N8/P8Q.EMEN?S=!DD.)^O><P[6\;D?\RVNR F
M;$YW13WG1MG=C2_&)?>.-;++Q[%E@.'HD<"%I6JJS%PC/^+@G;;+\B''OY44
M]?2)_I<N3DDNZC1%C@9L[W"F1 X,C33@!*JTHHC+@@D_&MAP:P@[4HM[9(\
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
M;S2X[\J3R'4NM;2'6?>2*'&"K"3>7(MV["SUS)\R3MC@XL^>[[C6KUSPU+6
M?';O ]UJ=NGE1Y]6"]9%ASO47!,G)K?^YB%9K._88L %E;.DJ89M#C.A"80
M.D]E7.PEV?'K:L4%8[T@^)AI QD2,='AKVR,^O.^L#"Z11)L=%'(BL[#/$I(
MS-;2Z\@)CP]F\RAT=<H!K#:4J=XL!BH"HA8"6<+=C&$8;KAI-9>-]7+ZY 8I
M]QK\$$7>%S\0Y3S9'R<@M='-S'#N3.#HR_+O['RF)?K_)MXR6B=?F("7Y)$$
M4::F3*(XB:\B6OYI&07>*BJ/U;+[@).:A-+7F[$!0-_I4EHR'RNR@O8R.#V]
MV1_@LTL@W!D?I70LF1+4F_7!\&;G!5!S[3OW?N G?K819Y>$#VR^$QKS\U[R
MK%<7X2U Z>W-G &FUQ05],6PTF'PO9ZJ#I2JWBP5Q@Q(";3U\J^\G[EQGKG2
M"[Z9JI>'4M6;M>)$JM0XH-.4[<39005*E+P&^"[74JIT6*"3Q<823=G>VYC]
MRFDEJP*EJS>;Q^DS2XT&.E_'QLNRH\_Z*::I!V6N-QO(J1,-A LZ?:+[:CB)
ML-I0*GLSB9Q(I0E&Z(2:+)RGK)B]&4 Z5QM?P!%/LIA +,Z JE#*>S.J]+/4
M6FB K@@*FI5P;GJSIW0W'5_ /.1I!_PD"V]G8/!]@8TZ$KI*/I65H/SV9E Y
M>6_4(H(^Z]J8Q#HP@O7P]):I$>P,S%['T0V_.D&J".D7%H;2T9OU!$R'0E9T
M'BH9530D-$N"?:K1&9!)B0[_V/.R%!!.<./XWBPL[O<J_578/P!UH13A.W_
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
MD4(WQ<!E[D)=@I/<FZ6M,Y+-D3MC[9I+RO^/C]Y'-H[9KG3+#A'4=]FJQ/_
MCIW'OZB4S#,<U,WDTR<W2+WL^6 W>^/EEJUPT_6:J#3SH?L!':[]IX:!:_4X
M7'VM@[NGL6H0V_92AM[)(\F6)+$VCB>#[!'O^T^2,]"(>CEY0]+=+LB0<X(2
MN5FXCN@V)T^?B@': '2,V!0F;8@.NLY=ONC-<_W/U;[SM8)0=OHS,AI"+7[*
MO":X!83PK HKYXG$ $Z:9:&T])>6YT1:9.*C,S./0I?)<[BR"+W] 2M+/P0P
MYL.;@/+8?R)D QN^*4(6<)J420W?JFBKEH(RTY]1T!CF.DU-H0=_;363/R;N
MMYOH\3OB>KF*<_.XN_1C-XCBM.);D*>M^NFG'W]X^_WHS>A0@OUPXSR/'N,1
M.RMF2TSHDLK?3\]05>UA/IY<[S",V _<>>#7N/+YP]>O%0]9LIJ@BJ=/"X $
MCSO9^Z>\F_N_(K\<"(7L>,P?2=#M*Z=Z9*=/Q$T3_Y%,V%JZB>BSY"E-5E92
MU +,:Z.C JRDSYT^E*D'>1P$]8[X1/X@%*NBKH$/N7+85/!7RW%(ZS8$"[/0
M\Q]]+W4"^1BOE\%'6C&XZYVMY.0::%0?>J ;S8*2^-B*1\3Q\!5T?-AA._;^
M>Q7Q5$CR45LK@@^L8M#6^EK).3;0F-UW0#-B&^7P814.A>/AVNCUL(/U8_:L
M')$/U:,"^(@J!NI13RL9U8;4=U?L@'+!&ORL5GPKQ> .W9V?_4[6?AO2=GKX
MUJ,^B98D(-PR7G _=[:2(X>D*!C][B\-E#A&NHZCX,T_?= D%^NU[Q(:7X6:
M40^H!N:A>\.\%N/(1! 47FX(H1]HE.XR"PR $64%,!?=F^$-N #(//1JE+D.
M'#JF94%9 <Q"]U9W Q8 ,@\^%Z(5=[G(M*ZMR'">#9Y:(3#:W=O&C<:\4+;A
M$1Z["3M?!<_\/D4'M+ L&._N+=YF>"LD'1CV[*# >L1[H5U:I(7!P'?OAFH
MO$;6H=6>*&1]F;/!\+C1KRWRTF#LN_<.!2J;.DD1@<]Z4IF,(/R%E< T=._U
MV((&A=P8"]"^:_!E2%X%'K3:!Q-0E".H."BLY [W_'VU'#:F#6^SQTTO_?6:
M, A<HJ7)M TP;[V<FLUY:X?1X,:,8U%^C;,5.,NNGS\7=IMH3Q2&;8")[.78
M;4YD.XS0B=R_;&-,GZ@FF+1>SN==D";' YVJAH9J3)FJ!3!UO1SJNZ!.C\_
M% H6 &[1+NP1&O; E<'$]6(?,"?.$!7T:9>E%&L[XR25P9SU8F/H8K(I41EZ
MGCGW:>#0:S].(#==BN)@7GHQ0;282SK)\5<\Z6%85A;,02^FB$[6,TP#:+F.
M&C"AK02FI!>SA#DE0!3P_;'[?$GS70^)UB!&(G&G&XB;!8,]$GH?Q:2S4+ 6
M%_C2Z2,N"6:IS[1G @84U_=XRU:F37!?#QW6PH)@J/M,'*:$6B$?AJ54>4EP
M7 *,;9\O?2JQ%4DT_+6CW+UG_T<PE'TFPU)"69-C8!2UCE*MW*-Z2#9%VCJG
M6> F%84?V$ H.G))8I?ZF;E9YR<%J =FI)=#K<8]"BSWX.NQY_-^.,$/W[][
M/ PC[>V5MAJ8CE[.LNTF"!@-2P+XII3RG4<9Q/=#(XCOEK@14VB?1]%ZQ%J(
M0A*E<? \&G]Q&"?>Z.BMX@'&8-F?Q;HA3X.LXV$(JSG(76/^_;)#B@@_<4E\
M]W$3%JH7B$)QA@[]XXE B@#J2_9?N<^^L" ^^*KA4P%;V/N! P#/,_0,"/!K
M&-K7$(96G48D(73KAQE$?$[IEXUF#=Q E98+-P2$H971S28I9)";!VIE<,-4
M0"!&TLZCH%QV@&FYS[$?ZQR@I*5Q U,D4#84$ZF8 Z.^3#[?4'=!5S&=QHF?
MI^?Y2)*'R-,P *N)&YJB9<-$_*&-OVG")G'H92G5]0N0HCAN8(J6 ZV@>,O]
M/$I^(_LEE.BF!*PF;N2*E@X3\0=FYHJ)&X6DU"R8PB:WBLK*XL:Q:-%7BXB+
M]V5*5E'QWC/3ZG@Z-S?3,:2+DE$#N($NILQ P+" KE_]*,@07*Q_CK9DPI]C
MIL_7SA<CSM2MX$;)&.JZ;4&R@$MV@/J#G4[]M>\6O5TY3Q<D)&L_B8WXU+>$
M&W+3 :=0L'!Y90M(X(1%!V?;'4_8QSJ<OZ"KT39:-H4;PG,255+&S6#$4^1!
MFHNJ/&X<3T?DZ0'!9PAZUFJ4QPW0Z8\AW#-9=4.(2#SGKU%E3TWN+>?JM=*D
M/FZT3D<,F@-FR=UQ=MN[\MF.OU'?'[^OWQ]G-4=YU8'3O^:=WF8]OE;?#4N*
M#F+8X)^.)PP6-J8^ACN?]T%Q):PJCW^EH\2\:L]02#'T??!Y7E+JQXW^JG+
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
MP@@R  )]3O&.YD/EY.E4;0K[_-7E3&I"A*[8EIV^("%9^YD#G%C)TE\L )K
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
M&#/FP6 86=.+O_#_Q]\F9;_Y_U!+ P04    " #0@ZU8!!CB/I8'   V)P
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
M2M3_A-_%^FU]]XYR([W:F+_K2*]$_A=02P,$%     @ T(.M6)KS#J1G!
M!10   H   !E>#,R>#$N:'1M[5A=;]I*$'V/E/\P0DJ42.;#$'I;H$@&3(-$
M P5':AX7>PU[:W;=W742^NOOK#$4$I(F-W"5APM(^&-WYLS,.;-K-RZ]K_WF
M\5'CTG4Z^ _FT_!Z7M]M-HK+?[Q;S&XW6H/.#8R]F[[[.1<*KFM@EV(-'IM3
M!5?T#D9B3KBUO&#!F$H6YG B3AV^=EX=YD1.&:]!J0Z:WNL\B=@43R6;SG2N
MV6@U3_E$Q?5&L85@AX=SXWZ_[+5Z'E3*!7MOSG)K]._-V'8:?,HUE6D>VN[(
MZW5[;<?K#:Y@>#T:7SM7'GB# U5@P[7]$:X+XT*[ &.WG;JW*]62=7C'SAB<
MSF#HN9W-@-<H/I4^P*![>!C>I0MC9]1RKMQQ?O"][]Z T_;0-91+I?*S_LMO
M]G\P;OV=*,W"1:[9X^ +SJFOF>!PQ_0,](PI^)80B1"B!8QH+*0&$4(G$>KX
MR*/^C(M(3!GZ_2)%$EO0XWX!SO2,PFD4_$Q$O2WF,>&+4YF>G5N QKM"SA%S
M_AN$0H(9'"-&$0#E 0W@*Y'^#"JVA8DM7UA %(0LPAL&U/&1&6^(B('YB63:
M>"<\ /?>GQ$^I8 NYTPI$P;^S/" : HS*JD($:(%[1F1$4X;%J!+I5R8*XR&
M: )-:G9+81"&S*?2!&L,9%%86 ]ITH4H1'IC0E6:D?D"?G!QARBGU((XD2HA
M7 ..VI -Q=RDFC$AD4#$&H/:')N.,'S.W(Z)G!!.57YP']$%.'[JR]#-,GD@
MNK9/1C#,OIE;*E09?T0YSVGU76B[_?[0Z71Z5U\^YTJY]'P\=-JK\VT0-H)H
M(]$FDEEP2:-;JIE/$ #A*K^%(J]%C)YCO;XP$5J+>0T^F&MW+- S$U7I!+7H
MC59^;DTY?!*MV(Q6GJ"WB:"SFI:9JU2-[5T+3G> /68CEGQ(YBQ:U/Z4TG2L
M8K_HL@*YYIE]WB@::V8M[S0?8ZB:40_O[8Q@?Z#&">IKK>OCHY6P7ZW,,(FP
M+_@HCLBH,&L:%"3]F3!)YT@G91BKLJYB5\[(.:!ENWH6G*]9OM;Q\=%:Q!G7
M[4^5B[J1]V86S7;(&YECP\GF0=C_/^_?QOOR.^2]AV1C')D])RD=<;W3A'$:
M9+ON=_QA'-26:N'?BY8P,S^65!E]6L8VB2+D'QIF)$+UJA@%JZSWGQ83;,@X
MX;X!CO4,6%I9LQ_ ,))HV7\$)B0MN7JPH!?^Z[:R7%3WOYM[Z=J]V;,>]K37
M]["-]E2'B9 !E7E?1!&)%8IN=91+GVJ?[UZY[,EW1Z.X.-EG#^@@RVNHB04N
M1DM%;%-@-PA[KQA:B]JS3K-,KE:"243\'V#JH43$@G7:*]6]HBJJXJ.-\8MR
M8]:F%>%,/S<BRBK^>-+.VF_,WO^$91KWF:E79>E/^#?3]3*![(Q^]\7LZ&WO
M-9YX-EIVESW8_]VLG@[I=Y:>[LZHD*)=JIZ\<.N%OO'[T11TNUWN[LAH^J^3
M%T>ULKSS#9E9:,QKO.5[/?/Z[Q]02P,$%     @ T(.M6(Z_G;A-!   "1(
M  H   !E>#,R>#(N:'1M[5AM;]I($/Z.Q'\8(:5*)/,>>BU0) -.@D0#Q8[4
M?%SL->S5[+KK=1/NU]^,>2E)R-N%G.[# 1*V=W;FF=GGF;7=OO"^#COY7/O"
ML?OX#_1I>P-OZ'3:Y=4_CI;7P^WNJ'\-KG<]=+X40B5-$ZJ5V( G%CR!2WX#
M$[5@TEI=L,#E6H0%G(A3QZ^=UX(%TS,AFU!I@>&WIL@B,<-3+69S4^BTNQWG
M^\6@._"@7BO5VN4N0AZ_/5BA\T%.D[AU$&=WD?M<&JXSZ#UGX@W.!CW;&XPN
M87PU<:_L2P^\T<'R>#1T]1-<E=Q2KP2NT\O"5^N-BO7^@6T7[/YH[#G]W82W
M*#Y7/L+H[/UA>!<.N/:D:U\Z;G'T?>A<@]WS,#34*I6G>51[<_QWX]:?:6)$
MN"QT!A)\)27WC5 2;H29@YF+!+ZE3".$: D3'BMM0(703U62SWG<GTL5J9G
MN.=:I;$% ^F7X-C,.7R(@I^I:O74(F9R^4%G9R<6H/,SI1>(N?@-0J6!C&/$
MJ +@,N !?&7:GT.]:F%A:Z<6L 1"$>$ @<KGR)Z(B(GYJ1:&HC,9@'/KSYF<
M<<"0"Y$DE ;^R#Q@AL.<:ZY"A&B!'6C!))R7X%Q%0<CTU(+>7/ 0SH1DTA<L
M@E$8"I]K2I=<K/.P\CF\2!4#H[*!*4^RFBR6\$.J&\0YXQ;$J4Y2)@U9[0B'
M8W4RU5!2+%"QP;1V;3,+8O0ZK(O8F.1)<70;\278/L7*YXAQ%AHPTSPD)P36
MG^962@TA'Y#.L[M#!WK.<#BV^_W!Y?F70J60G;MCN[<YOPNBBB!Z2+6I%A9<
M\.@7-\)G"(#)I'@'1=&H&"/'9GMAJHQ1BR9\I&LW(C!SRJIRA&KT)ILXOV@U
M?!9M^(Q>'B$X9=#?3%N[JS?(][Y=XFR$768GEV+(%B):-I\K:6:;B+_X:@4*
MG>/J2;M,WFAG['<>8FB0U?VQO1D<#I2;HL*VRL[G-M)^M3;#-,+.X*,X(M+A
MNFUPT/QG*C1?()T2XG*R[BO5^C$[ ?1<;1P')UN6;Y6<SVUEO.(Z5#_73ULD
M\-TJTLV%-Z%CXF3G7=C_/^_?QOO:?Y#W'I)-2&3V@A$=L9FC!1,2F2TD)'=4
M ?]<%$S0_%CSA/AOD6\61;B^Z)CV%AR(41")E?D*-WM.!B<0F5!H1T.S-%KI
M1V' #')R;T,J_=NR./R=R$MWG5VUW5?CZ]6W(ZP63)4.N"[Z*HI8G"!=-D>%
M[.GF:=T5UD] >RA^>G1(]O:1/TUDVQ+;Z(IK=Q=_/XCJ03%TE\TG@ZXKN>EA
MTXCY/X#6(U&1"+9EKS<.BJJ<E/?<U+VH.M17-Y2C7D0"6J_YPTE[5W]G]N$G
MK IYR%J]LD[/9;!;L)>)9&_^^R^NC][V7/[(G?VJPQS _^^&]7A*OZOT>&]&
ME92KE<;1"V\<,#9^/]&2/M.35X[_>+-CVE[H5<[JW0Z] OH;4$L! A0#%
M  @ T(.M6$*>7Y%NB $ -C 0 !,              ( !     &1U;W-?,3!Q
M+3 S,S$R-"YH=&U02P$"% ,4    " #0@ZU8D//03#\0   3K   $0
M        @ &?B $ 9'5O="TR,#(T,#,S,2YX<V102P$"% ,4    " #0@ZU8
M-,&*Q-L0  !@S   %0              @ $-F0$ 9'5O="TR,#(T,#,S,5]C
M86PN>&UL4$L! A0#%     @ T(.M6+QK 4QB*@  P;D" !4
M ( !&ZH! &1U;W0M,C R-# S,S%?9&5F+GAM;%!+ 0(4 Q0    ( -"#K5C@
M,)Q!QET  -]8!0 5              "  ;#4 0!D=6]T+3(P,C0P,S,Q7VQA
M8BYX;6Q02P$"% ,4    " #0@ZU8>EZ=OKM&  "=@ 0 %0
M@ &I,@( 9'5O="TR,#(T,#,S,5]P<F4N>&UL4$L! A0#%     @ T(.M6 08
MXCZ6!P  -B<   H              ( !EWD" &5X,S%X,2YH=&U02P$"% ,4
M    " #0@ZU8#B%K><,'   9*0  "@              @ %5@0( 97@S,7@R
M+FAT;5!+ 0(4 Q0    ( -"#K5B:\PZD9P0   44   *              "
M 4") @!E>#,R>#$N:'1M4$L! A0#%     @ T(.M6(Z_G;A-!   "1(   H
M             ( !SXT" &5X,S)X,BYH=&U02P4&      H "@!L @  1)("
#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>duos_10q-033124_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/20240331"
  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-20240331.xsd" xlink:type="simple"/>
    <context id="From2024-01-01to2024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-05-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2024-05-10</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="From2023-01-012023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_TechnologyServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_TechnologyServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </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="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_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-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-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="From2024-01-012024-03-31_custom_ThreeCustomerMember_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:ThreeCustomerMember</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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ThreeCustomerMember_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:ThreeCustomerMember</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-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_CommonStockMember182928046">
        <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>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_CommonStockMember182928062">
        <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-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-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-03-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2024-03-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>2024-03-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="AsOf2023-04-15_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-04-15</instant>
        </period>
    </context>
    <context id="From2023-04-142023-04-15_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>2023-04-14</startDate>
            <endDate>2023-04-15</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-03_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>2024-02-03</instant>
        </period>
    </context>
    <context id="From2024-02-022024-02-03_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>2024-02-02</startDate>
            <endDate>2024-02-03</endDate>
        </period>
    </context>
    <context id="From2024-02-022024-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>2024-02-02</startDate>
            <endDate>2024-02-03</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-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="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="From2024-01-012024-03-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>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2021-02-252021-02-26_custom_PurchaseAgreementMember_custom_ConvertibleSeriesCPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
                <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="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_ConvertibleSeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</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-09-292022-09-30_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-29</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-29</instant>
        </period>
    </context>
    <context id="From2022-10-282022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-28</startDate>
            <endDate>2022-10-29</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-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_ConvertibleSeriesEPreferredStockMember_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</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_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-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="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="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-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>2024-03-31</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="From2022-10-012022-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>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2022-10-012022-12-31_custom_EmployeeStockPurchasePlanMember182930000">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CommonStockMember_custom_EmployeeStockPurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CallOptionMember_custom_EmployeeStockPurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:CallOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_PutOptionMember_custom_EmployeeStockPurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:PutOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_EmployeeStockPurchasePlanMember182930109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_EmployeeStockPurchasePlanMember182930109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2021-05-112021-05-12_custom_Plan2021Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-11</startDate>
            <endDate>2021-05-12</endDate>
        </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="AsOf2024-03-31_custom_Plan2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_Plan2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_Plan2021Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_Plan2021Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:Plan2021Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_NonPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:NonPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_NonPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:NonPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-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_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_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-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="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="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-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-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>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-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>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-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-03-31</endDate>
        </period>
    </context>
    <context id="From2024-04-022024-04-03_us-gaap_SubsequentEventMember_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>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-02</startDate>
            <endDate>2024-04-03</endDate>
        </period>
    </context>
    <context id="AsOf2024-04-03_us-gaap_SubsequentEventMember_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>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-03</instant>
        </period>
    </context>
    <context id="From2024-04-222024-04-23_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>2024-04-22</startDate>
            <endDate>2024-04-23</endDate>
        </period>
    </context>
    <context id="From2024-04-222024-04-23_us-gaap_CommonStockMember">
        <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>
            <startDate>2024-04-22</startDate>
            <endDate>2024-04-23</endDate>
        </period>
    </context>
    <context id="From2024-04-292024-04-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>2024-04-29</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="From2024-04-292024-04-30_us-gaap_CommonStockMember">
        <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>
            <startDate>2024-04-29</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="From2024-05-062024-05-07_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>2024-05-06</startDate>
            <endDate>2024-05-07</endDate>
        </period>
    </context>
    <context id="From2024-05-062024-05-07_us-gaap_CommonStockMember">
        <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>
            <startDate>2024-05-06</startDate>
            <endDate>2024-05-07</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="From2024-01-01to2024-03-31" id="Fact000003">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2024-01-01to2024-03-31" id="Fact000004">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2024-01-01to2024-03-31" id="Fact000005">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="From2024-01-01to2024-03-31" id="Fact000006">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2024-01-01to2024-03-31" id="Fact000007">0001396536</dei:EntityCentralIndexKey>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0121"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0122"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0408"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0409"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0418"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0420"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0424"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0426"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0427"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0429"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0430"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0435"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0436"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0437"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0438"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0440"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0441"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0444"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0445"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0446"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0447"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0449"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0450"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0453"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0454"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0455"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0458"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0459"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0464"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0465"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0466"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0467"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0468"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0470"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0475"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0486"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0492"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0503"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0509"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0512"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0513"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0518"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0520"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0521"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0523"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0524"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0529"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0530"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0531"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0532"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0534"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0535"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0538"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0539"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0540"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0541"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0543"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0544"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0547"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0548"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0549"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0552"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0553"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0558"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0559"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0560"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0561"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0563"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0564"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0567"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0568"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0569"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0570"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0571"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0573"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0578"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0589"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember"
      id="xdx2ixbrl1422"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1432"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2024-01-01to2024-03-31" id="Fact000014">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2024-01-01to2024-03-31" id="Fact000015">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2024-01-01to2024-03-31" id="Fact000016">2024-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2024-01-01to2024-03-31" id="Fact000017">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2024-01-01to2024-03-31" id="Fact000018">000-55497</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2024-01-01to2024-03-31" id="Fact000019">Duos Technologies Group, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2024-01-01to2024-03-31" id="Fact000020">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2024-01-01to2024-03-31" id="Fact000021">65-0493217</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2024-01-01to2024-03-31" id="Fact000022">7660 Centurion Parkway</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="From2024-01-01to2024-03-31" id="Fact000023">Suite 100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="From2024-01-01to2024-03-31" id="Fact000024">Jacksonville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2024-01-01to2024-03-31" id="Fact000025">FL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2024-01-01to2024-03-31" id="Fact000026">32256</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2024-01-01to2024-03-31" id="Fact000027">904</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2024-01-01to2024-03-31" id="Fact000028">296-2807</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2024-01-01to2024-03-31" id="Fact000029">Common Stock, par value $0.001</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2024-01-01to2024-03-31" id="Fact000030">DUOT</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2024-01-01to2024-03-31" id="Fact000031">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2024-01-01to2024-03-31" id="Fact000032">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2024-01-01to2024-03-31" id="Fact000033">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2024-01-01to2024-03-31" id="Fact000034">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2024-01-01to2024-03-31" id="Fact000035">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2024-01-01to2024-03-31" id="Fact000036">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2024-01-01to2024-03-31" id="Fact000037">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-05-10"
      decimals="INF"
      id="Fact000038"
      unitRef="Shares">7531986</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Cash
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000046"
      unitRef="USD">2977592</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000047"
      unitRef="USD">2441842</us-gaap:Cash>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000049"
      unitRef="USD">596090</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000050"
      unitRef="USD">1462463</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000052"
      unitRef="USD">912046</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000053"
      unitRef="USD">641947</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000055"
      unitRef="USD">1502337</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000056"
      unitRef="USD">1526165</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000058"
      unitRef="USD">398856</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000059"
      unitRef="USD">184478</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000061"
      unitRef="USD">6386921</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000062"
      unitRef="USD">6256895</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000064"
      unitRef="USD">645342</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000065"
      unitRef="USD">726507</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000067"
      unitRef="USD">4289807</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000068"
      unitRef="USD">4373155</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000070"
      unitRef="USD">550000</us-gaap:SecurityDeposit>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000071"
      unitRef="USD">550000</us-gaap:SecurityDeposit>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000076"
      unitRef="USD">155625</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000077"
      unitRef="USD">153750</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000079"
      unitRef="USD">127357</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000080"
      unitRef="USD">129140</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000082"
      unitRef="USD">587388</duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer>
    <duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000083"
      unitRef="USD">652838</duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer>
    <us-gaap:OtherAssets
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000085"
      unitRef="USD">870370</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000086"
      unitRef="USD">935728</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000088"
      unitRef="USD">12742440</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000089"
      unitRef="USD">12842285</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000097"
      unitRef="USD">179916</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000098"
      unitRef="USD">595634</us-gaap:AccountsPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000100"
      unitRef="USD">183763</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000101"
      unitRef="USD">41976</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000103"
      unitRef="USD">240483</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000104"
      unitRef="USD">164113</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000106"
      unitRef="USD">783944</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000107"
      unitRef="USD">779087</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000109"
      unitRef="USD">1692940</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000110"
      unitRef="USD">1666243</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000112"
      unitRef="USD">3081046</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000113"
      unitRef="USD">3247053</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000115"
      unitRef="USD">4141555</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000116"
      unitRef="USD">4228718</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000118"
      unitRef="USD">7222601</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000119"
      unitRef="USD">7475771</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000130"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000132"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000134"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000136"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000138"
      unitRef="Shares">9441000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000140"
      unitRef="Shares">9441000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000142"
      unitRef="USDPShares">10</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000144"
      unitRef="USDPShares">10</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000146"
      unitRef="Shares">500000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000148"
      unitRef="Shares">500000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000150"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000152"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000154"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000156"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000158"
      unitRef="USDPShares">6.30</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000160"
      unitRef="USDPShares">6.30</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="0"
      id="Fact000162"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="0"
      id="Fact000164"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000166"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000168"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000170"
      unitRef="Shares">15000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000172"
      unitRef="Shares">15000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000174"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000176"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000178"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000180"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000182"
      unitRef="USDPShares">7</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000184"
      unitRef="USDPShares">7</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="0"
      id="Fact000186"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="0"
      id="Fact000188"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000190"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000192"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000194"
      unitRef="Shares">5000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000196"
      unitRef="Shares">5000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000198"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000200"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000202"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000204"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000206"
      unitRef="USDPShares">5.50</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000208"
      unitRef="USDPShares">5.50</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="0"
      id="Fact000210"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="0"
      id="Fact000212"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000214"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000216"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000218"
      unitRef="Shares">4000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000220"
      unitRef="Shares">4000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000222"
      unitRef="Shares">1919</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000224"
      unitRef="Shares">1919</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000226"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000228"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000230"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000232"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="0"
      id="Fact000234"
      unitRef="USD">2</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="0"
      id="Fact000236"
      unitRef="USD">1</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000238"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000240"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000242"
      unitRef="Shares">30000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000244"
      unitRef="Shares">30000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000246"
      unitRef="Shares">13625</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000248"
      unitRef="Shares">13625</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000250"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000252"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000254"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000256"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="0"
      id="Fact000258"
      unitRef="USD">14</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="0"
      id="Fact000260"
      unitRef="USD">12</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000262"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000264"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000266"
      unitRef="Shares">5000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000268"
      unitRef="Shares">5000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000270"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000272"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000274"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000276"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000278"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000280"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="0"
      id="Fact000282"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="0"
      id="Fact000284"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000289"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000291"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000293"
      unitRef="Shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000295"
      unitRef="Shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000297"
      unitRef="Shares">7315318</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000299"
      unitRef="Shares">7306663</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000301"
      unitRef="Shares">7313994</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000303"
      unitRef="Shares">7305339</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000286"
      unitRef="USD">7315</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000287"
      unitRef="USD">7306</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000305"
      unitRef="USD">72025821</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000306"
      unitRef="USD">69120199</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000308"
      unitRef="USD">-66355861</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000309"
      unitRef="USD">-63603552</us-gaap:RetainedEarningsAccumulatedDeficit>
    <duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000311"
      unitRef="USD">5677291</duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit>
    <duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000312"
      unitRef="USD">5523966</duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000317"
      unitRef="Shares">1324</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000319"
      unitRef="Shares">1324</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000314"
      unitRef="USD">157452</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000315"
      unitRef="USD">157452</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000321"
      unitRef="USD">5519839</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000322"
      unitRef="USD">5366514</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000324"
      unitRef="USD">12742440</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000325"
      unitRef="USD">12842285</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-03-31_us-gaap_TechnologyServiceMember"
      decimals="0"
      id="Fact000330"
      unitRef="USD">269855</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-03-31_us-gaap_TechnologyServiceMember"
      decimals="0"
      id="Fact000332"
      unitRef="USD">1827764</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-03-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000334"
      unitRef="USD">800825</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-03-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000336"
      unitRef="USD">816524</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000338"
      unitRef="USD">1070680</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000339"
      unitRef="USD">2644288</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="From2024-01-012024-03-31_us-gaap_TechnologyServiceMember"
      decimals="0"
      id="Fact000344"
      unitRef="USD">583437</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-012023-03-31_us-gaap_TechnologyServiceMember"
      decimals="0"
      id="Fact000346"
      unitRef="USD">1767209</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2024-01-012024-03-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000348"
      unitRef="USD">392611</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-012023-03-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000350"
      unitRef="USD">339907</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000352"
      unitRef="USD">976048</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000353"
      unitRef="USD">2107116</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000355"
      unitRef="USD">94632</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000356"
      unitRef="USD">537172</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000361"
      unitRef="USD">553486</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000362"
      unitRef="USD">307577</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000364"
      unitRef="USD">382142</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000365"
      unitRef="USD">404885</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000367"
      unitRef="USD">1920050</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000368"
      unitRef="USD">1971508</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000370"
      unitRef="USD">2855678</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000371"
      unitRef="USD">2683970</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000373"
      unitRef="USD">-2761046</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000374"
      unitRef="USD">-2146798</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000379"
      unitRef="USD">445</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000380"
      unitRef="USD">1180</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000382"
      unitRef="USD">9182</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000383"
      unitRef="USD">4295</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000385"
      unitRef="USD">8737</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000386"
      unitRef="USD">3115</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000388"
      unitRef="USD">-2752309</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000389"
      unitRef="USD">-2143683</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000391"
      unitRef="USDPShares">-0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000393"
      unitRef="USDPShares">-0.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000395"
      unitRef="USDPShares">-0.30</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000397"
      unitRef="USDPShares">-0.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000399"
      unitRef="Shares">7306949</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000401"
      unitRef="Shares">7306949</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000403"
      unitRef="Shares">7156876</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000405"
      unitRef="Shares">7156876</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000416"
      unitRef="Shares">1299</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000407"
      unitRef="USD">1</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000422"
      unitRef="Shares">7156876</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000410"
      unitRef="USD">7156</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000411"
      unitRef="USD">56562600</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000412"
      unitRef="USD">-52361834</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000413"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000414"
      unitRef="USD">4050471</us-gaap:StockholdersEquity>
    <duot:SeriesEPreferredStockIssuedShares
      contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000433"
      unitRef="Shares">4000</duot:SeriesEPreferredStockIssuedShares>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000425"
      unitRef="USD">4</duot:SeriesEPreferredStockIssued>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000428"
      unitRef="USD">3999996</duot:SeriesEPreferredStockIssued>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000431"
      unitRef="USD">4000000</duot:SeriesEPreferredStockIssued>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000439"
      unitRef="USD">75128</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000442"
      unitRef="USD">75128</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000448"
      unitRef="USD">299145</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000451"
      unitRef="USD">299145</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000462"
      unitRef="Shares">12463</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000456"
      unitRef="USD">12</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000457"
      unitRef="USD">32488</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000460"
      unitRef="USD">32500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000469"
      unitRef="USD">-2143683</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000471"
      unitRef="USD">-2143683</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-03-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000482"
      unitRef="Shares">1299</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000473"
      unitRef="USD">1</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-03-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000484"
      unitRef="Shares">4000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000474"
      unitRef="USD">4</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000488"
      unitRef="Shares">7169339</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000476"
      unitRef="USD">7168</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000477"
      unitRef="USD">60371067</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000478"
      unitRef="USD">-54505517</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000479"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000480"
      unitRef="USD">5715271</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000499"
      unitRef="Shares">1299</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000490"
      unitRef="USD">1</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000501"
      unitRef="Shares">11500</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000491"
      unitRef="USD">12</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000505"
      unitRef="Shares">7306663</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000493"
      unitRef="USD">7306</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000494"
      unitRef="USD">69120199</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000495"
      unitRef="USD">-63603552</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000496"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000497"
      unitRef="USD">5366514</us-gaap:StockholdersEquity>
    <duot:SeriesDPreferredStockIssuedShares
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000516"
      unitRef="Shares">620</duot:SeriesDPreferredStockIssuedShares>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000507"
      unitRef="USD">1</duot:SeriesDPreferredStockIssued>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000511"
      unitRef="USD">619999</duot:SeriesDPreferredStockIssued>
    <duot:SeriesDPreferredStockIssued
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000514"
      unitRef="USD">620000</duot:SeriesDPreferredStockIssued>
    <duot:SeriesEPreferredStockIssuedShares
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000527"
      unitRef="Shares">2125</duot:SeriesEPreferredStockIssuedShares>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000519"
      unitRef="USD">2</duot:SeriesEPreferredStockIssued>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000522"
      unitRef="USD">2125000</duot:SeriesEPreferredStockIssued>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000525"
      unitRef="USD">2125002</duot:SeriesEPreferredStockIssued>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000533"
      unitRef="USD">141204</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000536"
      unitRef="USD">141204</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000542"
      unitRef="USD">36188</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000545"
      unitRef="USD">36188</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000556"
      unitRef="Shares">8655</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000550"
      unitRef="USD">9</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000551"
      unitRef="USD">37491</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000554"
      unitRef="USD">37500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000562"
      unitRef="USD">18116</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000565"
      unitRef="USD">18116</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000572"
      unitRef="USD">-2752309</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000574"
      unitRef="USD">-2752309</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000585"
      unitRef="Shares">1919</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000576"
      unitRef="USD">2</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000587"
      unitRef="Shares">13625</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000577"
      unitRef="USD">14</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000591"
      unitRef="Shares">7315318</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000579"
      unitRef="USD">7315</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000580"
      unitRef="USD">72025821</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000581"
      unitRef="USD">-66355861</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000582"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000583"
      unitRef="USD">5519839</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000596"
      unitRef="USD">-2752309</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000597"
      unitRef="USD">-2143683</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000602"
      unitRef="USD">158208</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000603"
      unitRef="USD">116588</us-gaap:DepreciationAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000605"
      unitRef="USD">159320</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000606"
      unitRef="USD">75128</us-gaap:ShareBasedCompensation>
    <duot:StockIssuedForServices
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000608"
      unitRef="USD">-37500</duot:StockIssuedForServices>
    <duot:StockIssuedForServices
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000609"
      unitRef="USD">-32500</duot:StockIssuedForServices>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000611"
      unitRef="USD">83348</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000612"
      unitRef="USD">77101</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000617"
      unitRef="USD">-866373</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000618"
      unitRef="USD">-2700917</us-gaap:IncreaseDecreaseInReceivables>
    <duot:IncreaseDecreaseInNotesReceivable
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000620"
      unitRef="USD">1875</duot:IncreaseDecreaseInNotesReceivable>
    <duot:IncreaseDecreaseInNotesReceivable
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000621"
      unitRef="USD">-0</duot:IncreaseDecreaseInNotesReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000623"
      unitRef="USD">270099</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000624"
      unitRef="USD">1000590</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000626"
      unitRef="USD">-23828</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000627"
      unitRef="USD">101167</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000629"
      unitRef="USD">-57944</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000630"
      unitRef="USD">-228941</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000632"
      unitRef="USD">-415718</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000633"
      unitRef="USD">-1008207</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000635"
      unitRef="USD">76370</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000636"
      unitRef="USD">-85371</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000638"
      unitRef="USD">-82306</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000639"
      unitRef="USD">-8107</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000641"
      unitRef="USD">26697</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000642"
      unitRef="USD">1108864</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000644"
      unitRef="USD">-2032719</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000645"
      unitRef="USD">-7086</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000650"
      unitRef="USD">980</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000651"
      unitRef="USD">7339</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000653"
      unitRef="USD">-0</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000654"
      unitRef="USD">212067</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000656"
      unitRef="USD">8830</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000657"
      unitRef="USD">41738</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000659"
      unitRef="USD">-9810</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000660"
      unitRef="USD">-261144</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <duot:RepaymentsOnFinancingAgreements
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000665"
      unitRef="USD">130535</duot:RepaymentsOnFinancingAgreements>
    <duot:RepaymentsOnFinancingAgreements
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000666"
      unitRef="USD">201485</duot:RepaymentsOnFinancingAgreements>
    <duot:RepaymentsOfLongTermCapitalLeaseObligation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000668"
      unitRef="USD">-0</duot:RepaymentsOfLongTermCapitalLeaseObligation>
    <duot:RepaymentsOfLongTermCapitalLeaseObligation
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000669"
      unitRef="USD">11285</duot:RepaymentsOfLongTermCapitalLeaseObligation>
    <duot:IssuanceCosts
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000671"
      unitRef="USD">36188</duot:IssuanceCosts>
    <duot:IssuanceCosts
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000672"
      unitRef="USD">299145</duot:IssuanceCosts>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000674"
      unitRef="USD">2745002</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000675"
      unitRef="USD">4000000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000677"
      unitRef="USD">2578279</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000678"
      unitRef="USD">3488085</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000680"
      unitRef="USD">535750</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000681"
      unitRef="USD">3219855</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000683"
      unitRef="USD">2441842</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000684"
      unitRef="USD">1121092</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000686"
      unitRef="USD">2977592</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000687"
      unitRef="USD">4340947</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000692"
      unitRef="USD">0</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000693"
      unitRef="USD">1180</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000695"
      unitRef="USD">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000696"
      unitRef="USD">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:NotesIssued1
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000701"
      unitRef="USD">272322</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000702"
      unitRef="USD">320004</us-gaap:NotesIssued1>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000704">&lt;p id="xdx_803_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zPqevMucfktl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 1 &#x2013; &lt;span id="xdx_82E_zlUHQjp8Ujuj"&gt;NATURE OF OPERATIONS AND SUMMARY
OF SIGNIFICANT ACCOUNTING POLICIES&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 id="xdx_84A_ecustom--NatureOfOperationsPolicyTextBlock_zaHssE5rWvt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zMtafsqjvm74"&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"&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 subsidiary, Duos Technologies, Inc. (&#x201c;Duos&#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, which can assist law enforcement agencies. Each rail car is scanned
with machine vision cameras and other sensors from the top, sides, and bottom, where images are produced within seconds of the railcar
passing. These images can then 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, Information Technology (&#x201c;IT&#x201d;), and Artificial Intelligence development
and engineering. The Company maintains significant intellectual property and continues to be awarded additional patents for both the technology
and methodologies used. The Company also has a proprietary portfolio of approximately 50 Artificial Intelligence &#x201c;Use Cases&#x201d;
that automatically flag defects. The Company has deployed this system with several Class 1 railroads and one major passenger carrier and
anticipates an increased demand in the future from railcar operators, owners, shippers, transit railroads as well as 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 (&#x201c;ALIS&#x201d;) 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 and significantly improve operations and security and, importantly, dramatically improve
throughput on each lane on which the technology is deployed. The Company is not currently actively pursuing further customers for ALIS
but will continue to analyze the potential market and expects to deploy an upgraded Truck Inspection Portal (TIP) which uses the same
technology and lessons learned from the ALIS and RIP systems at some point in the future.&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 for the rail industry
is to expand beyond our existing customer base in the Class 1 and major passenger transit market and we expect to add additional users
in the short line and regional transit markets in North America. In addition, we plan to expand our subscription offering to car owners
and shippers and expand operations to meet the demand from international customers. The Company is 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.
The Company is also further investigating market opportunities for subsets of its technology including deployment and management of Edge
Data Centers, a fundamental component of the distributed, rapid response data analysis used in the RIP.&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--BasisOfAccountingPolicyPolicyTextBlock_zBq6Xygueh4e" 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;&lt;span id="xdx_86B_zNpIXWWgv5q7"&gt;Basis of Presentation&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; text-indent: 0.5in"&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 accompanying unaudited consolidated financial
statements have been prepared in accordance with U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) for interim financial
information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information
and footnotes required by U.S. GAAP for complete financial statements. In the opinion of management, all adjustments (all of which are
of a normal recurring nature) considered necessary for a fair presentation have been included. Operating results for the three months
ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any
other future period. These unaudited consolidated financial statements and the unaudited condensed notes thereto should be read in conjunction
with the audited consolidated financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the
year ended December 31, 2023 filed with the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) on April 1, 2024.&lt;/p&gt;

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

&lt;p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_z8YlzzcX3JD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_860_zMLSMwuRZd36"&gt;Principles of Consolidation&lt;/span&gt;&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;The unaudited consolidated financial statements include
Duos Technologies Group, Inc. and its wholly owned subsidiary, Duos Technologies, 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"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--UseOfEstimates_zp8C9K2wKvD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86B_zbmzQFXHlCU2"&gt;Use of Estimates&lt;/span&gt;&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;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 unaudited 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"&gt;&lt;b&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_840_eus-gaap--ConcentrationRiskCreditRisk_z8w3gMHs5v64" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_867_zx4oNEjQuIph"&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"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;Cash Concentrations&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;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 March 31, 2024,
the balance in one financial institution exceeded federally insured limits by approximately $&lt;span id="xdx_904_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20240331_zZuka0gZkPUd" title="Federally insured limits"&gt;2,485,140&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"&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"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"&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 three months ended March 31, 2024, three customers
accounted for &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zwNxqCQQI0E9" title="Concentration risk, percentage"&gt;31&lt;/span&gt;%, &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zzdIHAiJmEug" title="Concentration risk, percentage"&gt;30&lt;/span&gt;% and &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWFP0B6HzCKf" title="Concentration risk, percentage"&gt;26&lt;/span&gt;% of revenues. For the three months ended March 31, 2023, two customers accounted for &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zk5LczjHVVne" title="Concentration risk, percentage"&gt;70&lt;/span&gt;%, and &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2mkSBl2Edkg" title="Concentration risk, percentage"&gt;20&lt;/span&gt;% of revenues.
In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a Railcar 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 may be 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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At March 31, 2024, three customers accounted for &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zIvP7Akv2yC8" title="Concentration risk, percentage"&gt;49&lt;/span&gt;%,
&lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zSiZlxvAriUc" title="Concentration risk, percentage"&gt;38&lt;/span&gt;%, and &lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zT310z1zM5el" title="Concentration risk, percentage"&gt;13&lt;/span&gt;% of accounts receivable. At December 31, 2023, two customers accounted for &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2vh1ar0IRKd" title="Concentration risk, percentage"&gt;83&lt;/span&gt;%, and &lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zJcXibCCQ1K9" title="Concentration risk, percentage"&gt;11&lt;/span&gt;% of accounts receivable. Much of the
credit risk is mitigated since all 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;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 4pt 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;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;For the three months ended March 31, 2024, approximately
&lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zcYYnwyzwspe" title="Concentration risk, percentage"&gt;61&lt;/span&gt;% of revenue was generated from three customers outside of the United States. For the three months ended March 31, 2023, approximately
&lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z8rRVdEWDWE8" title="Concentration risk, percentage"&gt;25&lt;/span&gt;% of revenue was generated from three 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;&#160;&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 id="xdx_842_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_zP9a1l59MW0g" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86E_zqghakBErRl4"&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"&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"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;These inputs are prioritized below:&#160;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 10%"&gt;&lt;span style="font-size: 10pt"&gt;Level 1:&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 90%"&gt;&lt;span style="font-size: 10pt"&gt;Observable inputs such as quoted market prices in active markets for identical assets or liabilities.&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Level 2:&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Observable market-based inputs or unobservable inputs that are corroborated by market data.&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Level 3:&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&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;/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;&lt;/p&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_840_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zftffehktW2" 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_860_z4eCWCiv3OMk"&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;&#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, &#x201c;Financial
Instruments - Credit Losses&#x201d;. In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make the 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 credit loss 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 the
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;&#160;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zt6AsdueeOn3" 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_866_z0PHz2YJYgNb"&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: 4pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

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

&lt;p id="xdx_845_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zhNEKBxPkZPl" 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_z3aD8M66lsu4"&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;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt 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 capitalized 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_844_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_z8MiDFu5EiCf" 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_zghcKTThEE84"&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;Share-Based Payment,&#x201d; 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.&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 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.&#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_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zjZn7DKLAga2" 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_86B_znzOJceFgwT1"&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;&#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
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: 12pt 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;&lt;span style="font-size: 10pt"&gt;1.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Identify the contract with the customer;&lt;/span&gt;&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: 12pt 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;&lt;span style="font-size: 10pt"&gt;2.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Identify the performance obligations in the contract;&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;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;3.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Determine the transaction price;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;










&lt;p style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;4.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Allocate the transaction price to separate performance obligations; and&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;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;5.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Recognize revenue when (or as) each performance obligation is satisfied.&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;&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:&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;(1) Technology 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;(2) AI Technologies&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;(3) Technical Support&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;(4) Consulting Services&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: 4pt 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;/b&gt;&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 three sources: (1) Professional Services (consulting and auditing); (2) Customer service training
and (3) Maintenance/support.&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;(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; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;(2) 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; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;(3) Maintenance/support is an optional product sold
to our software license customers under one-year or longer contracts. Accordingly, maintenance payments received upfront are deferred
and recognized over the contract 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_840_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zqRSEfEOdDfj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span id="xdx_868_zGvGX6w68Qna"&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 Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;









&lt;p id="xdx_841_eus-gaap--LesseeLeasesPolicyTextBlock_z9yzlht1VdH1" 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_865_zH8Mba3nBky"&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 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 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 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 as an
expense when 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 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 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 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;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.&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_844_eus-gaap--EarningsPerSharePolicyTextBlock_z8451qNfuF3f" 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_zL9q36UAiN76"&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;&#160;&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. &#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;At March 31, 2024, there were (i) an aggregate of
&lt;span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zsQwJ1dwA7se" 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_909_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfuFCW0JFxQa" title="Number of incentive stock options"&gt;1,387,775&lt;/span&gt; shares
of common stock, (iii) &lt;span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zTRSqfRkw4i9" title="Common shares issuable upon conversion"&gt;639,667&lt;/span&gt; common shares issuable upon conversion of Series D Convertible Preferred Stock, and (iv) &lt;span id="xdx_90A_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znTBa65t7nYj" title="Common shares issuable upon conversion"&gt;4,541,667&lt;/span&gt; common
shares issuable upon conversion of Series E 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 March 31, 2023, there were (i) an aggregate of
&lt;span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20230331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zl5nAPnk7nrf" title="Outstanding warrants"&gt;80,091&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_c20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoXKvKGkcYUk" title="Number of incentive stock options"&gt;924,658&lt;/span&gt; shares
of common stock, (iii) &lt;span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zcvmaF5XFkBh" title="Common shares issuable upon conversion"&gt;433,000&lt;/span&gt; common shares issuable upon conversion of Series D Convertible Preferred Stock and (iv) &lt;span id="xdx_904_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zll8wReGxkr9" title="Common shares issuable upon conversion"&gt;1,333,334&lt;/span&gt; common
shares issuable upon conversion of Series E Convertible Preferred Stock, all of which were excluded from the computation of diluted 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;&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 id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zYDNGBOQoPB8" 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_z6UYlmJRcE4"&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;&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 November 2023, the FASB issued ASU 2023-07 Segment
Reporting (Topic 280): Improvements to Reportable Segment Disclosures. 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 has evaluated the disclosure impact of ASU 2023-07; and determined 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; 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 December 2023, the FASB issued ASU No. 2023-09
Income Taxes (Topic 740): Improvements to Income Tax Disclosures. 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.&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/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="From2024-01-01to2024-03-31" id="Fact000706">&lt;p id="xdx_84A_ecustom--NatureOfOperationsPolicyTextBlock_zaHssE5rWvt2" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zMtafsqjvm74"&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"&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 subsidiary, Duos Technologies, Inc. (&#x201c;Duos&#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, which can assist law enforcement agencies. Each rail car is scanned
with machine vision cameras and other sensors from the top, sides, and bottom, where images are produced within seconds of the railcar
passing. These images can then 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, Information Technology (&#x201c;IT&#x201d;), and Artificial Intelligence development
and engineering. The Company maintains significant intellectual property and continues to be awarded additional patents for both the technology
and methodologies used. The Company also has a proprietary portfolio of approximately 50 Artificial Intelligence &#x201c;Use Cases&#x201d;
that automatically flag defects. The Company has deployed this system with several Class 1 railroads and one major passenger carrier and
anticipates an increased demand in the future from railcar operators, owners, shippers, transit railroads as well as 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 (&#x201c;ALIS&#x201d;) 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 and significantly improve operations and security and, importantly, dramatically improve
throughput on each lane on which the technology is deployed. The Company is not currently actively pursuing further customers for ALIS
but will continue to analyze the potential market and expects to deploy an upgraded Truck Inspection Portal (TIP) which uses the same
technology and lessons learned from the ALIS and RIP systems at some point in the future.&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 for the rail industry
is to expand beyond our existing customer base in the Class 1 and major passenger transit market and we expect to add additional users
in the short line and regional transit markets in North America. In addition, we plan to expand our subscription offering to car owners
and shippers and expand operations to meet the demand from international customers. The Company is 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.
The Company is also further investigating market opportunities for subsets of its technology including deployment and management of Edge
Data Centers, a fundamental component of the distributed, rapid response data analysis used in the RIP.&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="From2024-01-01to2024-03-31" id="Fact000712">&lt;p id="xdx_84D_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBq6Xygueh4e" 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;&lt;span id="xdx_86B_zNpIXWWgv5q7"&gt;Basis of Presentation&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; text-indent: 0.5in"&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 accompanying unaudited consolidated financial
statements have been prepared in accordance with U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) for interim financial
information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information
and footnotes required by U.S. GAAP for complete financial statements. In the opinion of management, all adjustments (all of which are
of a normal recurring nature) considered necessary for a fair presentation have been included. Operating results for the three months
ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024 or for any
other future period. These unaudited consolidated financial statements and the unaudited condensed notes thereto should be read in conjunction
with the audited consolidated financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the
year ended December 31, 2023 filed with the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) on April 1, 2024.&lt;/p&gt;

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

</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000714">&lt;p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_z8YlzzcX3JD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_860_zMLSMwuRZd36"&gt;Principles of Consolidation&lt;/span&gt;&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;The unaudited consolidated financial statements include
Duos Technologies Group, Inc. and its wholly owned subsidiary, Duos Technologies, 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"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2024-01-01to2024-03-31" id="Fact000716">&lt;p id="xdx_84B_eus-gaap--UseOfEstimates_zp8C9K2wKvD8" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86B_zbmzQFXHlCU2"&gt;Use of Estimates&lt;/span&gt;&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;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 unaudited 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"&gt;&lt;b&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2024-01-01to2024-03-31" id="Fact000718">&lt;p id="xdx_840_eus-gaap--ConcentrationRiskCreditRisk_z8w3gMHs5v64" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_867_zx4oNEjQuIph"&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"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;Cash Concentrations&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;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 March 31, 2024,
the balance in one financial institution exceeded federally insured limits by approximately $&lt;span id="xdx_904_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20240331_zZuka0gZkPUd" title="Federally insured limits"&gt;2,485,140&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"&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"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"&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 three months ended March 31, 2024, three customers
accounted for &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zwNxqCQQI0E9" title="Concentration risk, percentage"&gt;31&lt;/span&gt;%, &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zzdIHAiJmEug" title="Concentration risk, percentage"&gt;30&lt;/span&gt;% and &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWFP0B6HzCKf" title="Concentration risk, percentage"&gt;26&lt;/span&gt;% of revenues. For the three months ended March 31, 2023, two customers accounted for &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zk5LczjHVVne" title="Concentration risk, percentage"&gt;70&lt;/span&gt;%, and &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2mkSBl2Edkg" title="Concentration risk, percentage"&gt;20&lt;/span&gt;% of revenues.
In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a Railcar 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 may be 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: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At March 31, 2024, three customers accounted for &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zIvP7Akv2yC8" title="Concentration risk, percentage"&gt;49&lt;/span&gt;%,
&lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zSiZlxvAriUc" title="Concentration risk, percentage"&gt;38&lt;/span&gt;%, and &lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zT310z1zM5el" title="Concentration risk, percentage"&gt;13&lt;/span&gt;% of accounts receivable. At December 31, 2023, two customers accounted for &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z2vh1ar0IRKd" title="Concentration risk, percentage"&gt;83&lt;/span&gt;%, and &lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zJcXibCCQ1K9" title="Concentration risk, percentage"&gt;11&lt;/span&gt;% of accounts receivable. Much of the
credit risk is mitigated since all 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;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 4pt 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;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;For the three months ended March 31, 2024, approximately
&lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_dp_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zcYYnwyzwspe" title="Concentration risk, percentage"&gt;61&lt;/span&gt;% of revenue was generated from three customers outside of the United States. For the three months ended March 31, 2023, approximately
&lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z8rRVdEWDWE8" title="Concentration risk, percentage"&gt;25&lt;/span&gt;% of revenue was generated from three 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;&#160;&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;

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashUninsuredAmount
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000720"
      unitRef="USD">2485140</us-gaap:CashUninsuredAmount>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000722"
      unitRef="Pure">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000724"
      unitRef="Pure">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000726"
      unitRef="Pure">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-03-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000728"
      unitRef="Pure">0.70</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-03-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000730"
      unitRef="Pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000735"
      unitRef="Pure">0.49</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000737"
      unitRef="Pure">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_Customer3Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000739"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000741"
      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="Fact000743"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-03-31_custom_ThreeCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US"
      decimals="INF"
      id="Fact000745"
      unitRef="Pure">0.61</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-03-31_custom_ThreeCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US"
      decimals="INF"
      id="Fact000747"
      unitRef="Pure">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000749">&lt;p id="xdx_842_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_zP9a1l59MW0g" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86E_zqghakBErRl4"&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"&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"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;These inputs are prioritized below:&#160;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 10%"&gt;&lt;span style="font-size: 10pt"&gt;Level 1:&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 90%"&gt;&lt;span style="font-size: 10pt"&gt;Observable inputs such as quoted market prices in active markets for identical assets or liabilities.&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Level 2:&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Observable market-based inputs or unobservable inputs that are corroborated by market data.&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Level 3:&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&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;/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;&lt;/p&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="From2024-01-01to2024-03-31" id="Fact000751">&lt;p id="xdx_840_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zftffehktW2" 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_860_z4eCWCiv3OMk"&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;&#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, &#x201c;Financial
Instruments - Credit Losses&#x201d;. In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make the 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 credit loss 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 the
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;&#160;&lt;/p&gt;

</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000756">&lt;p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zt6AsdueeOn3" 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_866_z0PHz2YJYgNb"&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: 4pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

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

</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000758">&lt;p id="xdx_845_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zhNEKBxPkZPl" 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_z3aD8M66lsu4"&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;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt 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 capitalized 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>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000760">&lt;p id="xdx_844_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_z8MiDFu5EiCf" 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_zghcKTThEE84"&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;Share-Based Payment,&#x201d; 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.&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 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.&#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:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000762">&lt;p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zjZn7DKLAga2" 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_86B_znzOJceFgwT1"&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;&#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
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: 12pt 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;&lt;span style="font-size: 10pt"&gt;1.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Identify the contract with the customer;&lt;/span&gt;&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: 12pt 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;&lt;span style="font-size: 10pt"&gt;2.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Identify the performance obligations in the contract;&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;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;3.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Determine the transaction price;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;










&lt;p style="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;4.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Allocate the transaction price to separate performance obligations; and&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;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;5.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Recognize revenue when (or as) each performance obligation is satisfied.&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;&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:&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;(1) Technology 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;(2) AI Technologies&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;(3) Technical Support&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;(4) Consulting Services&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: 4pt 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;/b&gt;&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 three sources: (1) Professional Services (consulting and auditing); (2) Customer service training
and (3) Maintenance/support.&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;(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; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;(2) 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; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;(3) Maintenance/support is an optional product sold
to our software license customers under one-year or longer contracts. Accordingly, maintenance payments received upfront are deferred
and recognized over the contract 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:RevenueFromContractWithCustomerPolicyTextBlock>
    <duot:MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000770">&lt;p id="xdx_840_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zqRSEfEOdDfj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span id="xdx_868_zGvGX6w68Qna"&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 Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;









</duot:MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000774">&lt;p id="xdx_841_eus-gaap--LesseeLeasesPolicyTextBlock_z9yzlht1VdH1" 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_865_zH8Mba3nBky"&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 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 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 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 as an
expense when 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 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 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 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;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.&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:LesseeLeasesPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000776">&lt;p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_z8451qNfuF3f" 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_zL9q36UAiN76"&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;&#160;&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. &#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;At March 31, 2024, there were (i) an aggregate of
&lt;span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zsQwJ1dwA7se" 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_909_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfuFCW0JFxQa" title="Number of incentive stock options"&gt;1,387,775&lt;/span&gt; shares
of common stock, (iii) &lt;span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zTRSqfRkw4i9" title="Common shares issuable upon conversion"&gt;639,667&lt;/span&gt; common shares issuable upon conversion of Series D Convertible Preferred Stock, and (iv) &lt;span id="xdx_90A_ecustom--ConversionOfStockSharesConverted_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znTBa65t7nYj" title="Common shares issuable upon conversion"&gt;4,541,667&lt;/span&gt; common
shares issuable upon conversion of Series E 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 March 31, 2023, there were (i) an aggregate of
&lt;span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20230331__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zl5nAPnk7nrf" title="Outstanding warrants"&gt;80,091&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_c20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoXKvKGkcYUk" title="Number of incentive stock options"&gt;924,658&lt;/span&gt; shares
of common stock, (iii) &lt;span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zcvmaF5XFkBh" title="Common shares issuable upon conversion"&gt;433,000&lt;/span&gt; common shares issuable upon conversion of Series D Convertible Preferred Stock and (iv) &lt;span id="xdx_904_ecustom--ConversionOfStockSharesConverted_c20230101__20230331__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zll8wReGxkr9" title="Common shares issuable upon conversion"&gt;1,333,334&lt;/span&gt; common
shares issuable upon conversion of Series E Convertible Preferred Stock, all of which were excluded from the computation of diluted 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;&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;

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember182928046"
      decimals="INF"
      id="Fact000778"
      unitRef="Shares">44644</us-gaap:ClassOfWarrantOrRightOutstanding>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000780"
      unitRef="Shares">1387775</duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2024-01-012024-03-31_custom_SeriesDConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000782"
      unitRef="Shares">639667</duot:ConversionOfStockSharesConverted>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2024-01-012024-03-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000784"
      unitRef="Shares">4541667</duot:ConversionOfStockSharesConverted>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember182928062"
      decimals="INF"
      id="Fact000786"
      unitRef="Shares">80091</us-gaap:ClassOfWarrantOrRightOutstanding>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers
      contextRef="AsOf2023-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000788"
      unitRef="Shares">924658</duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2023-01-012023-03-31_custom_SeriesDConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000790"
      unitRef="Shares">433000</duot:ConversionOfStockSharesConverted>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2023-01-012023-03-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000792"
      unitRef="Shares">1333334</duot:ConversionOfStockSharesConverted>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000795">&lt;p id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zYDNGBOQoPB8" 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_z6UYlmJRcE4"&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;&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 November 2023, the FASB issued ASU 2023-07 Segment
Reporting (Topic 280): Improvements to Reportable Segment Disclosures. 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 has evaluated the disclosure impact of ASU 2023-07; and determined 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; 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 December 2023, the FASB issued ASU No. 2023-09
Income Taxes (Topic 740): Improvements to Income Tax Disclosures. 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.&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/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="From2024-01-01to2024-03-31" id="Fact000797">&lt;p id="xdx_80D_eus-gaap--SubstantialDoubtAboutGoingConcernTextBlock_zoecPWBfNkN1" 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_zyOgw6v1ceT7"&gt;LIQUIDITY&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;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;&#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_905_eus-gaap--ProfitLoss_c20240101__20240331_zo2bDXXX5pR2" title="Net loss"&gt;2,752,309&lt;/span&gt; for the three months ended March 31, 2024. During the same period, cash used in operating
activities was $&lt;span id="xdx_90C_eus-gaap--NetCashProvidedByUsedInOperatingActivities_iN_di_c20240101__20240331_ztFZtxJd6fRf" title="Cash used in operating activities"&gt;2,032,719&lt;/span&gt;. The working capital surplus and accumulated deficit as of March 31, 2024, were $&lt;span id="xdx_90D_ecustom--WorkingCapitalSurplus_iI_pp0p0_c20240331_zkkoZAeJsc24" title="Working capital surplus"&gt;3,305,875&lt;/span&gt; and $&lt;span id="xdx_907_eus-gaap--RetainedEarningsAccumulatedDeficit_iNI_di_c20240331_zlD6BBAHpdIl" title="Accumulated deficit"&gt;66,355,861&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 underwritten offerings and private placements which were completed during 2022, 2023, and now
the first and second quarters of 2024 as well.&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 Aptos; margin: 0 0 6pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Aptos; margin: 0 0 6pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&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 5). 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 filing 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 &#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;/span&gt;&#160;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 4pt 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;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, and growing the Company sufficiently
to generate enough revenue to attain consistently profitable operations. The Company cannot currently quantify the uncertainty related
to previous supply chain delays or the persistence of inflation and their effects on our customers in the coming quarters. We have analyzed
our cash flow under &#x201c;stress test&#x201d; conditions and have determined that we have sufficient liquid assets on hand, forthcoming
with ongoing business or available via the capital markets to maintain operations for at least twelve months from the 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 been taking 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, as described above,
it will have sufficient sources of working capital to meet its obligations over the following twelve months. In the last twelve months
the Company has experienced relatively steady contracted backlog as well as seen positive signs from new commercial engagements that indicate
improvements in future commercial opportunities for both one-time capital and recurring services 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, the consequent need to procure certain materials in advance of a binding contract and
the additional time needed to execute on new contracts previously reported have put a strain on our cash reserves. However, proactive
management of our existing contracts, recent stock offerings and private placements as well as the availability to raise capital via our
shelf registration indicate there is no substantial doubt that the Company can continue as a going concern for a period of twelve months
from the issuance date of this report. 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 twelve
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, continued in 2023, and will continue
in 2024 and beyond. 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 0 8pt"&gt;&lt;/p&gt;

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

</us-gaap:SubstantialDoubtAboutGoingConcernTextBlock>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000799"
      unitRef="USD">2752309</us-gaap:ProfitLoss>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000801"
      unitRef="USD">-2032719</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <duot:WorkingCapitalSurplus
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000803"
      unitRef="USD">3305875</duot:WorkingCapitalSurplus>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000805"
      unitRef="USD">-66355861</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:DebtDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000813">&lt;p id="xdx_80C_eus-gaap--DebtDisclosureTextBlock_zvaIZ3JEuwv2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 3 &#x2013; &lt;span id="xdx_82B_zqHvEnXgZsui"&gt;DEBT&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"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Notes Payable - Financing Agreements&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&#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 March 31, 2024 and December 31, 2023:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--ScheduleOfDebtTableTextBlock_zzxdPKLcHZph" style="font: 11pt Aptos; 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_8BD_zenxFUUFUUUh" 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&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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;March 31, 2024&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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;December 31, 2023&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 style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;Notes Payable&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;Principal&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;Interest&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;Principal&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;Interest&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 style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&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="font: 10pt Times New Roman, Times, Serif; width: 48%; text-align: left"&gt;Third Party - Insurance Note 1&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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zhqIWrCPbcVb" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal"&gt;&#x2014;&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"&gt;&#x2014;&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: 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 id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z248whUIcdf7" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal"&gt;39,968&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCKntMUe2VBk" title="Notes payable, interest"&gt;8.00&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Third Party - Insurance Note 2&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;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z4VOFclNUZyj" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;22,438&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zQG4KQiHm34a" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;2,008&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&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 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: 1pt"&gt;Third Party - Insurance Note 3&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 id="xdx_989_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_znEs2FDkmof1" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;161,325&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-family: Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-family: Times New Roman, Times, Serif; 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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zMDR8bzPZRh7" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;&#x2014;&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;&#x2014;&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 style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;Total&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 id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331_zoXAI5KKFhja" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;183,763&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;td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zPfp5D81USQ5" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;41,976&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;td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; 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;&#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;The Company entered into an agreement on April 15,
2023 with its insurance provider by issuing a note payable (Insurance Note 1) for the purchase of an insurance policy in the amount of
$&lt;span id="xdx_904_eus-gaap--NotesPayable_iI_pp0p0_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zJsSkU7NTTBk"&gt;142,734&lt;/span&gt;,
secured by that policy with an annual interest rate of &lt;span id="xdx_903_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zUvU7GFZvz85"&gt;8.00&lt;/span&gt;%
and payable in 11 monthly installments of principal and interest totaling $&lt;span id="xdx_901_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230414__20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zSToJ52S8H4g"&gt;13,501&lt;/span&gt;.
At March 31, 2024 and December 31, 2023, the balance of Insurance Note 1 was zero &lt;span id="xdx_90D_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCschmTizgE1"&gt;&lt;b style="display: none"&gt;0
&lt;/b&gt;&lt;/span&gt;and $&lt;span id="xdx_90C_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zm3Y4NTgFOQd"&gt;39,968&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 renewed it&#x2019;s agreement on February
3, 2024 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_909_eus-gaap--NotesPayable_iI_pp0p0_c20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zEDKHEg9ng1d" title="Notes payable outstanding balance"&gt;24,140&lt;/span&gt;, and payable in 12 monthly installments of $&lt;span id="xdx_90F_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zxAB6uXXxER7" title="Monthly instalments of principal and interest"&gt;2,012&lt;/span&gt;. At March 31, 2024 and December 31, 2023, the balance of Insurance Note 2
was $&lt;span id="xdx_907_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z5FXhnm30CNi" title="Notes payable outstanding balance"&gt;22,438&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zGg4gR9lmH9i" title="Notes payable outstanding balance"&gt;2,008&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, 2024 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_90B_ecustom--PurchaseOfInsurancePolicy_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zYeSkrh5Rkea" title="Purchase of insurance policy"&gt;245,798&lt;/span&gt; with a down payment paid in
the amount of $&lt;span id="xdx_906_ecustom--DownPaymentPaid_c20240202__20240203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zHvsEqpglrha" title="Down payment paid"&gt;84,473&lt;/span&gt; in the first quarter of 2024
and ten monthly installments of $&lt;span id="xdx_90E_ecustom--InsuranceMonthlyInstallments_c20240101__20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zyxCq7QUHaAj" title="Monthly installments"&gt;20,169&lt;/span&gt;.
At March 31, 2024 and December 31, 2023, the balance of Insurance Note 4 was $&lt;span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zRwacmZJepG7" title="Notes payable outstanding balance"&gt;161,325
&lt;/span&gt;and zero &lt;b&gt;&lt;span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zGbjBkD3TTU9" style="display: none" title="Notes payable outstanding balance"&gt;0&lt;/span&gt;&lt;/b&gt; , respectively.&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;









</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000815">&lt;table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--ScheduleOfDebtTableTextBlock_zzxdPKLcHZph" style="font: 11pt Aptos; 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_8BD_zenxFUUFUUUh" 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&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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;March 31, 2024&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="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;December 31, 2023&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 style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;Notes Payable&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;Principal&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;Interest&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;Principal&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;Interest&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 style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&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="font: 10pt Times New Roman, Times, Serif; width: 48%; text-align: left"&gt;Third Party - Insurance Note 1&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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zhqIWrCPbcVb" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal"&gt;&#x2014;&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"&gt;&#x2014;&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: 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 id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z248whUIcdf7" style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right" title="Notes payable, principal"&gt;39,968&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zCKntMUe2VBk" title="Notes payable, interest"&gt;8.00&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Third Party - Insurance Note 2&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;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z4VOFclNUZyj" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;22,438&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zQG4KQiHm34a" style="font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;2,008&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&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 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: 1pt"&gt;Third Party - Insurance Note 3&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 id="xdx_989_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_znEs2FDkmof1" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;161,325&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-family: Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-family: Times New Roman, Times, Serif; 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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_d0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zMDR8bzPZRh7" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;&#x2014;&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;&#x2014;&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 style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;Total&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 id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20240331_zoXAI5KKFhja" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;183,763&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;td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&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 id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zPfp5D81USQ5" style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right" title="Notes payable, principal"&gt;41,976&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;td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact000817"
      unitRef="USD">0</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact000819"
      unitRef="USD">39968</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:LongTermDebtPercentageBearingFixedInterestRate
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="INF"
      id="Fact000821"
      unitRef="Pure">0.0800</us-gaap:LongTermDebtPercentageBearingFixedInterestRate>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact000823"
      unitRef="USD">22438</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact000825"
      unitRef="USD">2008</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact000827"
      unitRef="USD">161325</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact000829"
      unitRef="USD">0</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000831"
      unitRef="USD">183763</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000833"
      unitRef="USD">41976</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact000834"
      unitRef="USD">142734</us-gaap:NotesPayable>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="INF"
      id="Fact000835"
      unitRef="Pure">0.0800</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2023-04-142023-04-15_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact000836"
      unitRef="USD">13501</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact000837"
      unitRef="USD">0</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact000838"
      unitRef="USD">39968</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2024-02-03_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact000840"
      unitRef="USD">24140</us-gaap:NotesPayable>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2024-02-022024-02-03_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact000842"
      unitRef="USD">2012</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact000844"
      unitRef="USD">22438</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact000846"
      unitRef="USD">2008</us-gaap:NotesPayable>
    <duot:PurchaseOfInsurancePolicy
      contextRef="From2024-02-022024-02-03_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact000848"
      unitRef="USD">245798</duot:PurchaseOfInsurancePolicy>
    <duot:DownPaymentPaid
      contextRef="From2024-02-022024-02-03_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact000850"
      unitRef="USD">84473</duot:DownPaymentPaid>
    <duot:InsuranceMonthlyInstallments
      contextRef="From2024-01-012024-03-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact000852"
      unitRef="USD">20169</duot:InsuranceMonthlyInstallments>
    <us-gaap:NotesPayable
      contextRef="AsOf2024-03-31_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact000854"
      unitRef="USD">161325</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact000856"
      unitRef="USD">0</us-gaap:NotesPayable>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000860">&lt;p id="xdx_806_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zwSRIxLUgwYi" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;NOTE 4 &#x2013; &lt;span id="xdx_828_z01VuhJtpoQ7"&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"&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;&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;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;On July 26, 2021, the
Company entered a new operating lease agreement for office and warehouse combination space of &lt;span id="xdx_901_ecustom--AreaOfLease_usqft_c20210725__20210726_zaUZ7fpNc8mc" 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_zpW96O6vzdT7" title="Operating lease right of use asset"&gt;4,980,104&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family: Calibri, Helvetica, Sans-Serif; font-size: 8pt"&gt;&#160;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;at
lease commencement. Rent for the first eleven months of the term was calculated based on &lt;span id="xdx_900_ecustom--RentableSpace_usqft_c20210725__20210726_zuKlCQyrARgk" 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_zrzFpJ5Mvwx2" title="Security deposit payment"&gt;600,000&lt;/span&gt; on
July 26, 2021. Per the contract, in the 18th month, the security deposit was reduced by $&lt;span id="xdx_901_eus-gaap--SecurityDeposit_iI_c20210726_zFP6HOQmzApb" title="Security deposit value"&gt;50,000&lt;/span&gt;. The right of use asset balance at March
31, 2024, net of accumulated amortization, was $&lt;span id="xdx_90C_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20240331_z2P6UtS69u3f" title="Accumulated amortization"&gt;4,289,807&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; text-align: justify"&gt;As of March 31, 2024, 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.3 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.&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;table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zcyQ0o4U1SHd" style="font: 12pt 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_8BE_z8X8qHnsVIsd" 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; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" 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;Three Months Ended &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;March 31,&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"&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;2024&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;2023&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-size: 10pt; font-weight: bold; text-align: justify"&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%; font-size: 10pt; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLeaseCost_pp0p0_c20240101__20240331_zyD8oVff7Jw6" style="width: 14%; text-align: right" title="Operating lease cost"&gt;&lt;span style="font-size: 10pt"&gt;195,410&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20230331_zsRsb9A04Hi5" style="width: 14%; font-size: 10pt; text-align: right" title="Operating lease cost"&gt;&lt;span style="font-size: 10pt"&gt;195,409&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&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="font-size: 10pt; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShortTermLeaseCost_pp0p0_c20240101__20240331_zn7EiIaYtiih" style="font-size: 10pt; text-align: right" title="Short term lease Cost"&gt;4,296&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;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20230331_zWgumFIyCmL3" style="font-size: 10pt; text-align: right" title="Short term lease Cost"&gt;7,104&lt;/td&gt;&lt;td style="font-size: 10pt; 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 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-size: 10pt; font-weight: bold; text-align: justify"&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="font-size: 10pt; text-align: justify"&gt;Operating cash outflow used for operating leases&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PaymentsForRent_pp0p0_c20240101__20240331_zY2ZPWYGzDBi" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases"&gt;194,367&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;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--PaymentsForRent_pp0p0_c20230101__20230331_zPy8aXn9WBra" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases"&gt;126,416&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 10pt; text-align: justify"&gt;Weighted average discount rate&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;&lt;span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20240331_zJseLxKczvpg" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&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;&lt;span id="xdx_90C_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20230331_z7Heei0DjJu4" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify"&gt;Weighted average remaining lease term&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;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_905_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240331_zHPumG2NVjja" title="Weighted average remaining lease term"&gt;8.3&lt;/span&gt; years&lt;/span&gt;&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;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_906_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230331_zFcsPcvJ6Cd7" title="Weighted average remaining lease term"&gt;9.2&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 12pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 4pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;









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

&lt;p style="font: 4pt 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;As of March 31, 2024, future minimum lease payments
due under our operating leases are as follows:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_881_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zWEWmQBv14W6" style="font: 11pt Aptos; 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 style="text-align: left"&gt;&lt;span id="xdx_8BB_zKeh7GadNQqj" 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_496_20240331_zbALabx6wXei" 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: left"&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;Amount&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 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;Calendar year:&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_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maCz6be_z1WvO0OptZdl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: left"&gt;2024&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;584,720&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_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zOve80DO38Lj" 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;2025&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;798,556&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_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_ztzmpHOfcCPb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;2026&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;818,518&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_405_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zlJeymgR9sbj" 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;2027&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;838,984&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_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_z1e9GORuN8bc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;2028&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;859,856&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_40F_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_pp0p0_maCz6be_zDNphdSDtAk3" 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: 1pt"&gt;Thereafter&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;3,183,571&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_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zElBbAjlZzdd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Total undiscounted future minimum lease payments&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;7,084,205&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_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zxCVrKny5Qzi" 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: 1pt"&gt;Less: Impact of discounting&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;(2,158,706&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_405_eus-gaap--OperatingLeaseLiability_iI_z4bBRhN6dOfl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Total present value of operating lease obligations&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;4,925,599&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_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_ztxlwAKvUve7" 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: 1pt"&gt;Current portion&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;(783,944&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_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zmoQrHIn4SU6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"&gt;Operating lease obligations, less current portion&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;4,141,555&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;&#160;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <duot:AreaOfLease
      contextRef="From2021-07-252021-07-26"
      decimals="INF"
      id="Fact000862"
      unitRef="sqft">40000</duot:AreaOfLease>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2021-07-26"
      decimals="0"
      id="Fact000864"
      unitRef="USD">4980104</us-gaap:OperatingLeaseRightOfUseAsset>
    <duot:RentableSpace
      contextRef="From2021-07-252021-07-26"
      decimals="INF"
      id="Fact000866"
      unitRef="sqft">30000</duot:RentableSpace>
    <us-gaap:SecurityDepositLiability
      contextRef="AsOf2021-07-26"
      decimals="0"
      id="Fact000868"
      unitRef="USD">600000</us-gaap:SecurityDepositLiability>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2021-07-26"
      decimals="0"
      id="Fact000870"
      unitRef="USD">50000</us-gaap:SecurityDeposit>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000872"
      unitRef="USD">4289807</us-gaap:OperatingLeaseRightOfUseAsset>
    <duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000874">&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zcyQ0o4U1SHd" style="font: 12pt 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_8BE_z8X8qHnsVIsd" 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; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" 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;Three Months Ended &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;March 31,&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"&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;2024&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;2023&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-size: 10pt; font-weight: bold; text-align: justify"&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%; font-size: 10pt; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLeaseCost_pp0p0_c20240101__20240331_zyD8oVff7Jw6" style="width: 14%; text-align: right" title="Operating lease cost"&gt;&lt;span style="font-size: 10pt"&gt;195,410&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20230331_zsRsb9A04Hi5" style="width: 14%; font-size: 10pt; text-align: right" title="Operating lease cost"&gt;&lt;span style="font-size: 10pt"&gt;195,409&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&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="font-size: 10pt; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShortTermLeaseCost_pp0p0_c20240101__20240331_zn7EiIaYtiih" style="font-size: 10pt; text-align: right" title="Short term lease Cost"&gt;4,296&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;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20230331_zWgumFIyCmL3" style="font-size: 10pt; text-align: right" title="Short term lease Cost"&gt;7,104&lt;/td&gt;&lt;td style="font-size: 10pt; 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 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-size: 10pt; font-weight: bold; text-align: justify"&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="font-size: 10pt; text-align: justify"&gt;Operating cash outflow used for operating leases&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PaymentsForRent_pp0p0_c20240101__20240331_zY2ZPWYGzDBi" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases"&gt;194,367&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;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--PaymentsForRent_pp0p0_c20230101__20230331_zPy8aXn9WBra" style="font-size: 10pt; text-align: right" title="Operating cash outflow used for operating leases"&gt;126,416&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 10pt; text-align: justify"&gt;Weighted average discount rate&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;&lt;span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20240331_zJseLxKczvpg" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&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;&lt;span id="xdx_90C_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20230331_z7Heei0DjJu4" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify"&gt;Weighted average remaining lease term&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;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_905_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240331_zHPumG2NVjja" title="Weighted average remaining lease term"&gt;8.3&lt;/span&gt; years&lt;/span&gt;&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;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_906_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230331_zFcsPcvJ6Cd7" title="Weighted average remaining lease term"&gt;9.2&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000876"
      unitRef="USD">195410</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000878"
      unitRef="USD">195409</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000880"
      unitRef="USD">4296</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000882"
      unitRef="USD">7104</us-gaap:ShortTermLeaseCost>
    <us-gaap:PaymentsForRent
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000884"
      unitRef="USD">194367</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000886"
      unitRef="USD">126416</us-gaap:PaymentsForRent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000888"
      unitRef="Pure">0.090</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2023-03-31"
      decimals="INF"
      id="Fact000890"
      unitRef="Pure">0.090</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2024-03-31" id="Fact000892">P8Y3M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2023-03-31" id="Fact000894">P9Y2M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000898">&lt;table cellpadding="0" cellspacing="0" id="xdx_881_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zWEWmQBv14W6" style="font: 11pt Aptos; 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 style="text-align: left"&gt;&lt;span id="xdx_8BB_zKeh7GadNQqj" 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_496_20240331_zbALabx6wXei" 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: left"&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;Amount&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 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;Calendar year:&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_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_pp0p0_maCz6be_z1WvO0OptZdl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: left"&gt;2024&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;584,720&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_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zOve80DO38Lj" 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;2025&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;798,556&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_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_ztzmpHOfcCPb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;2026&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;818,518&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_405_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zlJeymgR9sbj" 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;2027&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;838,984&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_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_z1e9GORuN8bc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;2028&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;859,856&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_40F_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_pp0p0_maCz6be_zDNphdSDtAk3" 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: 1pt"&gt;Thereafter&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;3,183,571&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_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zElBbAjlZzdd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Total undiscounted future minimum lease payments&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;7,084,205&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_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zxCVrKny5Qzi" 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: 1pt"&gt;Less: Impact of discounting&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;(2,158,706&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_405_eus-gaap--OperatingLeaseLiability_iI_z4bBRhN6dOfl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Total present value of operating lease obligations&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;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;4,925,599&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_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_ztxlwAKvUve7" 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: 1pt"&gt;Current portion&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;(783,944&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_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zmoQrHIn4SU6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"&gt;Operating lease obligations, less current portion&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;4,141,555&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;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000900"
      unitRef="USD">584720</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000902"
      unitRef="USD">798556</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000904"
      unitRef="USD">818518</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000906"
      unitRef="USD">838984</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000908"
      unitRef="USD">859856</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <duot:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000910"
      unitRef="USD">3183571</duot:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000912"
      unitRef="USD">7084205</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000914"
      unitRef="USD">2158706</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000916"
      unitRef="USD">4925599</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000918"
      unitRef="USD">783944</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000920"
      unitRef="USD">4141555</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000922">&lt;p id="xdx_80B_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zF5Nv9OZYJkc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 5 &#x2013; &lt;span id="xdx_825_zj9ujnF66IY5"&gt;STOCKHOLDERS&#x2019; EQUITY&lt;/span&gt;&lt;/b&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;&#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 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_90B_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zJslgx5v3ekf" title="Preferred stock, shares designated"&gt;15,000&lt;/span&gt; of the &lt;span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20240331_zs2cEZjWBNr1" 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_907_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zsGtXkg3XgO" 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;&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;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_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z1XCkg0DR9Ef" title="Conversion of stock shares converted"&gt;1,000
&lt;/span&gt;divided by the conversion price of $&lt;span id="xdx_902_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zadc60kIHJk6" 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 March 31, 2024 and December 31, 2023, respectively, there are zero &lt;span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z1rHXuDiyHn" title="Preferred stock, shares issued"&gt;&lt;b&gt;&lt;span id="xdx_904_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zx9PzAEEk551" style="display: none" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;
&lt;/b&gt;&lt;/span&gt;and zero &lt;span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zi5CZ9p2nlGc" title="Preferred stock, shares issued"&gt;&lt;b&gt;&lt;span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zP1KWbPDUgk2" style="display: none" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;
&lt;/b&gt;&lt;/span&gt;shares of Series B Convertible Preferred Stock issued and outstanding.&#160;&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"&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"&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_905_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z94WXNTFPGmd" title="Preferred stock, shares designated"&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 had a stated value of $&lt;span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zVDqkPEOI337" title="Preferred stock, par value"&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_902_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z7Yo3FBFJnj" title="Preferred stock voting rights"&gt;Each share of Series C Convertible Preferred Stock has 172 votes&lt;/span&gt;
(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 $&lt;span id="xdx_908_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zcm0fW5OgCEb" title="Preferred stock, conversion price per share"&gt;5.50&lt;/span&gt; (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;/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 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_908_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20210225__20210226__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zjVWJ62QcVRi" title="Proceeds from convertible preferred stock"&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_90D_ecustom--SeriesCPreferredConvertedToCommonStockShares_c20220101__20220131__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zqMamPLl7xmc" title="Series C preferred converted to common stock shares"&gt;454,546
&lt;/span&gt;shares of common stock. As of March 31, 2024 and December 31, 2023, respectively, there were zero &lt;span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zSp7p9yizq04" title="Preferred stock, shares issued"&gt;&lt;b&gt;&lt;span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zmcDw24aQXjc" style="display: none" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;
&lt;/b&gt;&lt;/span&gt;and zero &lt;span id="xdx_90F_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zFjvzebCxV25" title="Preferred stock, shares issued"&gt;&lt;b&gt;&lt;span id="xdx_902_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zFpS2Out65l" style="display: none" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;
&lt;/b&gt;&lt;/span&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.&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;p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Series D Convertible
Preferred Stock&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&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_908_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zGDb472YN3t1" title="Preferred stock, shares designated"&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_zG9VNma93Cia" 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_90C_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zjLOE00biOGa" 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_908_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z7DhB6snxnd8" 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 are subject to the 4.99% restriction, with the exception of one who 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"&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_903_eus-gaap--PreferredStockSharesIssued_iI_c20220930__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zptzMDF4Hi6l" 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_906_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20220929__20220930__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zJI91vhSKJEh" 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_904_eus-gaap--PreferredStockSharesIssued_iI_c20221029__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zxZxcjYwViO2" 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_908_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20221028__20221029__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zb6mWM7hbsj" 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;&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 16, 2023, the Series D Convertible Preferred
Stock was approved for conversion to common shares during the Company&#x2019;s annual shareholder meeting.&#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;On March 22, 2024 and March 28, 2024, the Company
entered into Securities Purchase Agreements (the &#x201c;Purchase Agreements&#x201d;) with certain existing and other accredited investors
(the &#x201c;2024 Purchasers&#x201d;). Pursuant to the Purchase Agreements, the 2024 Purchasers purchased an aggregate of &lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zYHvKzVPBmjd" title="Shares purchased, shares"&gt;620&lt;/span&gt; shares of
Series D Preferred Stock, at a price of $&lt;span id="xdx_906_eus-gaap--SharePrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zuKsDhmMQTT7" title="Shares price"&gt;1,000&lt;/span&gt; per share, and the Company received proceeds of $&lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zffdolsSPwZ2" title="Shares purchased, value"&gt;620,000&lt;/span&gt;. The Series D Preferred Stock
is convertible into Common Stock at $&lt;span id="xdx_907_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zWoGZoQSnGCj" title="Conversion price"&gt;3.00&lt;/span&gt; a share. If all of the &lt;span id="xdx_900_eus-gaap--ConversionOfStockSharesConverted1_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zNDYb8M0aXM9" title="Conversion of stock shares converted"&gt;620&lt;/span&gt; shares of Series D Preferred Stock were converted, the Company would
issue &lt;span id="xdx_90A_eus-gaap--PreferredStockConvertibleSharesIssuable_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zszVbLNawMEe" title="Conversion of stock shares issued"&gt;206,667&lt;/span&gt; shares of Common 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;As of March 31, 2024 and December 31, 2023, respectively,
there were &lt;span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zvmKExe8eRee" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zFsGkdQNBg6" title="Preferred stock, shares outstanding"&gt;1,919&lt;/span&gt;&lt;/span&gt; and &lt;span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z4GcQRJbjHGa" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zGEVIfsqu8E9" 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;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 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;&#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"&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: 11pt Aptos; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 11pt Aptos; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s Board of Directors has designated &lt;span id="xdx_90A_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zEBlOrDInfe" title="Preferred stock, shares designated"&gt;30,000&lt;/span&gt; shares as the Series E Convertible Preferred Stock (the &#x201c;Series E Convertible&lt;/span&gt;&#160;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Preferred Stock&#x201d;). Each share of the Series E Convertible
Preferred Stock has a stated value of $&lt;span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zHItlLu9ZPm9"&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_905_eus-gaap--PreferredStockVotingRights_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zMulbgGrokkh"&gt;Each share of Series E Convertible Preferred Stock has 333 votes&lt;/span&gt; (subject to adjustment); provided
that in no event may a holder of Series E Convertible 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 are subject to the 4.99% restriction, with the exception
of one who elected the 19.99% Beneficial Ownership Limitation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 11pt Aptos; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&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/11pt 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_z8ONpm27GoE7" 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_zYq0hDLKeC82" title="Preferred stock, par value"&gt;1,000&lt;/span&gt; per share, and the Company received proceeds of $&lt;span id="xdx_90E_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230326__20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zRJaHxUj6Mok" 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/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 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/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;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_zsgWyD8y8qF2" 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_ziz234RsWmB" 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_zSyJVcvRoXc5" 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_901_eus-gaap--SharesIssued_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zsYV6LqChSPh" title="Additional shares"&gt;5,000&lt;/span&gt; shares of Series E Convertible
Preferred Stock at $&lt;span id="xdx_90D_eus-gaap--SharePrice_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zAow4IRtqhY" title="Share price"&gt;1,000&lt;/span&gt; per share with the $&lt;span id="xdx_905_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z3vcF77aKIm9" 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_900_ecustom--StockExchangeShares_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zcxylFk94T05" 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_909_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zXCNiFdLTJHl" 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/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 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 Convertible Preferred Stock without the consent of the Purchasers. The conversion
price of the Series E Convertible Preferred Stock currently is $3.00 per share (subject to adjustment).&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 Purchasers under the November Purchase Agreement
also were the holders of the Company&#x2019;s Series F Convertible Preferred Stock issued on August 1, 2023. The purchase agreement relating
to the shares of Series F Convertible 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 Convertible Preferred Stock, which was $&lt;span id="xdx_90A_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z4GYhCxqiJ28" 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 Convertible Preferred Stock entered into Exchange Agreements pursuant to which the holders of Series F Convertible Preferred
Stock exchanged their &lt;span id="xdx_90E_ecustom--NumberOfSharesExchanged_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z7KPFXSiFul" title="Number of shares exchanged"&gt;5,000&lt;/span&gt; shares of Series F Convertible Preferred Stock for an equal number of shares of Series E Convertible 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_zXY52xiSic11" title="Additional shares"&gt;7,500&lt;/span&gt; shares of Series
E Convertible Preferred Stock and the &lt;span id="xdx_905_ecustom--NumberOfSharesCancelled_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zLEJsw6dP122" title="Number of shares cancelled"&gt;5,000&lt;/span&gt; shares of Series F Convertible Preferred Stock were cancelled.&lt;/p&gt;

&lt;p style="font: 11pt/11pt Aptos; margin: 0; text-align: justify"&gt;&#160;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 11pt 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: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;On March 22, 2024 and
March 28, 2024, the Company entered into Securities Purchase Agreements (the &#x201c;Purchase Agreements&#x201d;) with certain existing and
other accredited investors (the &#x201c;2024 Purchasers&#x201d;). Pursuant to the Purchase Agreements, the 2024 Purchasers purchased an
aggregate of&lt;/span&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt; &lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zQjDhbxhpgHe" title="Shares purchased, shares"&gt;2,125&lt;/span&gt; shares of Series E Convertible Preferred
Stock, at a price in each case of $&lt;span id="xdx_905_eus-gaap--SharePrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_ztQKe4MjE5Aa" title="Shares price"&gt;1,000&lt;/span&gt; per share, and the Company received proceeds of $&lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zBQEnzFOfbYi" title="Shares purchased, value"&gt;2,125,002&lt;/span&gt;. The Series E Preferred Stock is convertible
into Common Stock at $&lt;span id="xdx_901_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zhol3hmiQPbi" title="Conversion price"&gt;3.00&lt;/span&gt; a share. If all of the &lt;span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zneNraT4T6Y1" title="Conversion of stock shares converted"&gt;2,125&lt;/span&gt; shares of Series E Convertible Preferred Stock were converted, the Company would
issue &lt;span id="xdx_908_eus-gaap--PreferredStockConvertibleSharesIssuable_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zI1fm8BU0QGd" title="Conversion of stock shares issued"&gt;708,333&lt;/span&gt; shares of Common Stock.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 11pt 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/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of March 31, 2024 and December 31, 2023, respectively, there were
&lt;span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z73UbNvc6Vu9" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z6EexNTYMQzl" title="Preferred stock, shares outstanding"&gt;13,625&lt;/span&gt;&lt;/span&gt; and &lt;span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zwmmFUbBsrFd" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_907_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zwgmdAm68rQ5" title="Preferred stock, shares outstanding"&gt;11,500&lt;/span&gt;&lt;/span&gt; shares of Series E Convertible Preferred Stock issued and outstanding.&#160;&lt;/p&gt;

&lt;p style="font: 10pt/107% 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
E 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 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/11pt 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;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;Series F Convertible Preferred Stock&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_908_ecustom--SeriesFPreferredConvertiblePreferredStockShares_c20230730__20230802_z8LwwdQmBU84" 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_zaBEFAt8Ppk6" 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_90F_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_ziDLQlXjXW76" title="Preferred stock, shares designated"&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_90B_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zeOgtgfvHCY2" title="Preferred stock, par value"&gt;1,000&lt;/span&gt;) by the conversion price, which is $&lt;span id="xdx_906_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAOxzmdYX07c" 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_c20240101__20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z0FnrM0cda0b" 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_900_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zAe0axb0n8wd" 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_903_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zokLIHpe7gKg" title="Conversion price"&gt;3.00&lt;/span&gt; per share) on November 10, 2023, the
holders exchanged their &lt;span id="xdx_90E_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zRmJiUNvZuUg" title="Exchange of shares"&gt;5,000&lt;/span&gt; shares of Series F Preferred Stock for &lt;span id="xdx_90D_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zAyZTbsDrie1" 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_907_eus-gaap--CapitalUnitsOutstanding_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zIqPfchcvGm5" 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 March 31, 2024 and December 31, 2023, respectively,
there were zero &lt;b style="display: none"&gt;&lt;span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zlzV7J9kKrQd" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20240331__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zz08ErBAYCa" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt;
&lt;/b&gt;and zero &lt;b&gt;&lt;span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z81ON2ZGcPgf" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zBKcMxDfQQO9" style="display: none" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; shares of Series F Convertible Preferred Stock issued and outstanding.&#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;span style="text-decoration: underline"&gt;Common stock issued&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;Three Months Ended March 31, 2024&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;During the three months ended March 31, 2024, the
Company issued &lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z29X4QRnwAN1" title="Stock issued for services , shares"&gt;8,655&lt;/span&gt; shares of common stock for payment of board fees to three directors in the amount of $&lt;span id="xdx_901_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zfLfgTVtHPg9" 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 March 31, 2024. The volume-weighted average price (VWAP) per share is $&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20240331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zocML3Aof7Wj" title="Weighted average price per share"&gt;4.33&lt;/span&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;&lt;b&gt;Three Months Ended March 31, 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 three months ended 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_zbv9eT2MQWOi" title="Stock issued for services , shares"&gt;12,463&lt;/span&gt; shares of common stock for payment of board fees to three directors in the amount of $&lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKNlCaBLHRrd" 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 volume-weighted average price (VWAP) per share is $&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1JTDD5U2FLh" title="Weighted average price per share"&gt;2.61&lt;/span&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: 4pt 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/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 Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&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_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20221001__20221231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zLTvBGgAUHcl" title="Plan, term"&gt;10&lt;/span&gt; years. &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_c20240101__20240331__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zkHrMJiojG3k" 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 &lt;span id="xdx_900_ecustom--FairMarketValuePercentage_dp_c20221001__20221231__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_z3NBfchUPojh" title="Fair market value percentage"&gt;85&lt;/span&gt;% 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
ESPP employee contribution for the three months ended March 31, 2024 is less than 2&lt;/span&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;%
of total cash and is not deemed material, therefore it is not presented separately on the Balance Sheet as &#x201c;restricted cash&#x201d;.
The maximum aggregate number of shares of the Common Stock that may be issued under the ESPP is &lt;span id="xdx_902_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20240331__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zRy2HrcVgs68" title="Maximum aggregate number of shares of common stock"&gt;1,000,000&lt;/span&gt; shares.&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;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) &lt;span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zj1Hui2T9p91" title="Purchase discount, percentage"&gt;15&lt;/span&gt;% 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 &lt;span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--CallOptionMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zMEYvExeZNj8" title="Purchase discount, percentage"&gt;85&lt;/span&gt;% of
a share of common stock and a put option on &lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_dp_c20240101__20240331__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--PutOptionMember__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zUylrSyU1Xl8" title="Purchase discount, percentage"&gt;15&lt;/span&gt;% of a share of common 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: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;As of the three months
ended March 31, 2024, the Company has an accrued liability of $&lt;span id="xdx_90B_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_c20240331__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zddv8CslyU9c" title="Accrued liability"&gt;44,686&lt;/span&gt; included in accrued expenses of
employee contributions for the ESPP which may convert to shares of common stock upon the close of the offering period open from January
1, 2024 to June 30, 2024. The liability is offset by restricted cash held by the Company in the same amount for employee contributions
which the Company expects to convert to common stock upon closure of the offering period at June 30, 2024. Additionally, the Company
recorded a stock-based expense associated with the ESPP for the three months ended March 31, 2024 of $&lt;span id="xdx_908_eus-gaap--AllocatedShareBasedCompensationExpense_c20240101__20240331__us-gaap--SubsidiarySaleOfStockAxis__custom--EmployeeStockPurchasePlanMember_zEO5c1Ac1zk7" title="Stock-based compensation expense"&gt;18,116&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; text-align: justify"&gt;The Company computed the fair value of the look-back
feature call and put options for January 1, 2024 to March 31, 2024 using a Black Scholes option pricing model using the following assumptions:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_884_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zQ9zJhcAnHU3" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B9_zGCm7FCWQOO3" style="display: none"&gt;Schedule of black scholes option pricing model&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&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;At&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;March 31, 2024&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="font-size: 10pt; text-align: justify"&gt;Grant date share price&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;&lt;span style="font-size: 10pt"&gt;$&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoxoiL9OcXRc" title="Grant date share price"&gt;2.70&lt;/span&gt; - $&lt;span id="xdx_900_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztnQHnoN7WSb" title="Grant date share price"&gt;4.34&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 10pt; text-align: justify"&gt;Grant date exercise price&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="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;$&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVTWZky5geP5" title="Grant date exercise price"&gt;2.30&lt;/span&gt; - $&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1MLninZ8CSd" title="Grant date exercise price"&gt;3.69&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="font-size: 10pt; text-align: justify"&gt;Expected term&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;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRrWkq6KNRwh" title="Expected term"&gt;0.25&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 83%; font-size: 10pt; text-align: justify"&gt;Expected volatility&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxyEjlw2xzS2" title="Expected volatility"&gt;66.8&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; 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="font-size: 10pt; text-align: justify"&gt;Risk-free rate&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;&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSFSWKzIzpW8" title="Risk-free rate"&gt;5.41&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify"&gt;Expected dividend rate&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;&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd6EK8EbF367" title="Expected dividend rate"&gt;0&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&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;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the offer period, the Company records
stock-based compensation pro rata as an expense and a credit to additional paid-in capital. The following table discloses relevant
information for the ESPP at March 31, 2024 and for three months then ended.&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_890_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zbdtnbbViEX1" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&lt;span id="xdx_8BB_zLbdEKBX6o74" style="display: none"&gt;Schedule of stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240331_z37VU9Upe1O1" style="padding-bottom: 1pt; 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="font-size: 12pt"&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;At &lt;br/&gt; March 31, 2024&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_ecustom--CashPaymentReceivedFromEmployeeWithholdings_iI_zUodtH1odCQ8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Cash payment received from employee withholdings&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-size: 12pt; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-size: 12pt; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;44,686&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_iI_d0_zQbn0pTKPWt" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;Cash from employee withholdings used to purchase shares under ESPP&lt;/td&gt;&lt;td style="font-size: 12pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-size: 12pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--CashAndEsppEmployeeWithholdingLiability_iI_zBp4VSPVprF5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 84%; text-align: left; padding-bottom: 2.5pt"&gt;Cash and ESPP employee withholding liability&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 style="border-bottom: Black 2.5pt double; width: 14%; text-align: right"&gt;44,686&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 style="font-size: 12pt"&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" id="xdx_49B_20240101__20240331_zBbZ385qBCol" style="padding-bottom: 1pt; 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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;For the Three Months ended&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid"&gt;
    &lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;March 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;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_d0_z5ywiuAQUKZe" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 84%; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Cash from employee withholdings used to purchase ESPP shares&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--EmployeeBenefitsAndShareBasedCompensation_zGVAsWKLuWgc" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Stock based compensation expense&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;18,116&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_ecustom--TotalChargesRelatedToEmployeeStockPurchasePlan_zDnz3nH9T6zg" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Total increase to equity for three months ended March 31, 2024&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;18,116&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zHVBCd7pGh5l" 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;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: 12pt 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: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Stock-based compensation
expense recognized under ASC 718-10 for the three months ended March 31, 2024 and 2023, was $&lt;span id="xdx_905_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zc7F55KMFeNe" title="Stock-based compensation expense"&gt;141,204&lt;/span&gt;
and $&lt;span id="xdx_907_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zPwPocAO2Tfl" title="Stock-based compensation expense"&gt;75,128&lt;/span&gt;, respectively, for stock options granted to employees. This expense is included in selling, general and administrative expenses
in the unaudited 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
are ultimately expected to vest during the period. At March 31, 2024, the total compensation cost for stock options not yet recognized
was $&lt;span id="xdx_90C_ecustom--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_pp0p0_c20240331_z5Dgb9iQVlJ7" title="Total compensation cost for stock options"&gt;438,998&lt;/span&gt;. This cost will be recognized over the remaining vesting term of the options ranging from nine months to two and one-half
years.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 12pt 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 Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&#160;&lt;/b&gt;&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, the 2021 Equity Incentive Plan (the &#x201c;2021 Plan&#x201d;) providing for the issuance of up to &lt;span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210511__20210512__us-gaap--PlanNameAxis__custom--Plan2021Member_z9rNGkO47E15" title="Number of shares issued, shares"&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. During the third quarter of 2021, the
shareholders approved the issuance of up to one million shares or share equivalents pursuant to the 2021 Plan. The Company filed an S-8
registration statement in concert with the 2021 Plan which was deemed effective on August 5, 2021. The plan covers a period of ten years.&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 March 31, 2024, and December 31, 2023, options
to purchase a total of &lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNxLtzmnDHDk" title="Number of incentive stock options"&gt;1,387,775&lt;/span&gt; (net of forfeitures discussed below) shares of common stock and &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMtAezVA6XA6" title="Number of incentive stock options"&gt;1,387,775&lt;/span&gt; shares of common stock were
outstanding, respectively. At March 31, 2024, &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zclOPRozYEJg" title="Number of incentive stock options exercisable"&gt;766,323&lt;/span&gt; options were exercisable. Of the total options issued, &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--PlanNameAxis__custom--Plan2016Member_zV0hoTwlaOy" title="Number of incentive stock options"&gt;269,658&lt;/span&gt; and &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--Plan2016Member_z2b8Ppkrwjzg" title="Number of incentive stock options"&gt;269,658&lt;/span&gt; options
were outstanding under the 2016 Equity Incentive Plan, &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20240331__us-gaap--PlanNameAxis__custom--Plan2021Member_zTl999F3GKVh" title="Number of incentive stock options"&gt;788,117&lt;/span&gt; and &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--Plan2021Member_zdZOIMinHuYf" title="Number of incentive stock options"&gt;788,117&lt;/span&gt; were outstanding under the 2021 Plan and a further &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20240331__us-gaap--PlanNameAxis__custom--NonPlanMember_z9gxAmp8Zxyf" title="Number of incentive stock options"&gt;330,000&lt;/span&gt;
and &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c20231231__us-gaap--PlanNameAxis__custom--NonPlanMember_zEZxgvOCytH3" title="Number of incentive stock options"&gt;330,000&lt;/span&gt; non-plan options to purchase common stock were outstanding as of March 31, 2024 and December 31, 2023, respectively. The non-plan
options were granted to four executives as hiring incentives, including the Company&#x2019;s CEO in the fourth quarter of 2020.&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;table cellpadding="0" cellspacing="0" id="xdx_885_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z2NSvuLDPiRl" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left; vertical-align: bottom"&gt;&lt;span id="xdx_8BA_zPlw08DxcvR8" style="display: none"&gt;Schedule of stock option issuance of shares&lt;/span&gt;&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&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;Options&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="vertical-align: bottom; width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 46%; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1KmbA2wUXUa" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;926,266&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zP6hBQUlmwJ5" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance"&gt;5.74&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zx9hF3LnqXec" title="Weighted average remaining contractual term (Years)"&gt;3.3&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zUB4Gc66RBki" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Granted&lt;/span&gt;&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 id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zzPlZ0tw8Wvc" style="font-size: 10pt; text-align: right" title="Number of options, Granted"&gt;463,117&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;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIiUAoi3QFZj" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted"&gt;4.22&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;&lt;span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zEGJpUk39iE9" title="Weighted average remaining contractual term (Years), Granted"&gt;4.35&lt;/span&gt;&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;$&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Forfeited&lt;/span&gt;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOBL9mgOpGjc" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Forfeited"&gt;(1,608&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zuWBQc1QAGWh" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Forfeited"&gt;14.00&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zBN3UEPdvYTi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;1,387,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZFyKsUZ8dMg" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance"&gt;5.23&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zhI02mTDoZLf" title="Weighted average remaining contractual term (Years)"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd2V8Ax2WKYc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Exercisable at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zS1ErKCT33U8" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable"&gt;581,324&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpWGuNrfZhCk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;5.38&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfyd6LZL3mF3" title="Weighted average remaining contractual term (Years), Exercisable"&gt;1.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zycCOal3BqY5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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;&#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="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at December 31, 2023&lt;/span&gt;&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 id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYB5j0wWyI61" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;1,387,775&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;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAWOX4sBG8o3" style="font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance"&gt;5.23&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;&lt;span id="xdx_908_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zHgpkZgr3zT6" title="Weighted average remaining contractual term (Years)"&gt;3.0&lt;/span&gt;&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;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zFMifSaFxdTh" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Granted&lt;/span&gt;&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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKBomTOhmQL4" style="font-size: 10pt; text-align: right" title="Number of options, Granted"&gt;&#x2014;&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNBt7aAxbpE1" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted"&gt;&#x2014;&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;&#x2014;&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;$&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Exercised/Forfeited/Expired&lt;/span&gt;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTFilSTLimt7" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Exercised/Forfeited/Expired"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJWI1DkBjFAb" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercised/forfeited/expired"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at March 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxT2qOkQl6ha" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;1,387,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKztujvyNpVi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance"&gt;5.23&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztq4pXpZVvZh" title="Weighted average remaining contractual term (Years)"&gt;2.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgwFL3l5z6r5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Exercisable at March 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeyd6978FJbb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable"&gt;766,323&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXWyvXRDJ98f" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;5.55&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztcSc9wkPo92" title="Weighted average remaining contractual term (Years), Exercisable"&gt;1.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKuDjjodo7qk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Warrants&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zscM8BVqHDCg" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8BF_zQdhWT3Nh4Zg" 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: 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&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%; font-size: 10pt"&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgsxGyN2UUU5" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;80,091&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbrF3FJ67R27" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance"&gt;8.63&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zasvs8F7l7p7" title="Weighted average remaining contractual term (Years)"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zFtzsfEJee1j" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; 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: 10pt; text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&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 id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZYcBuKR5Dhh" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised"&gt;(102,947&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zsvfoIz26L5k" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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: 10pt; text-align: left; padding-bottom: 1pt"&gt;Warrants issued&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zI9obmMeR794" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zM0ZiX5gva9h" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGHpay5CkLna" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zTofU3GzrjMa" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1k4WAnm8ege" title="Weighted average remaining contractual term (Years)"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWqpyFccTn47" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2023&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmuefweR5rf1" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJjvrRBeWzwc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zY8xiAPkb3bf" title="Weighted average remaining contractual term (Years), Exercisable"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWQCv3LFCD95" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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 style="font-size: 10pt"&gt;Outstanding at December 31, 2023&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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zvjv5Pdpwrfg" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;44,644&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;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJHVXSreUDB6" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance"&gt;7.70&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;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8Q36rLJ4IW5" title="Weighted average remaining contractual term (Years)"&gt;0.7&lt;/span&gt;&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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z57J6Po3gSt1" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 10pt; text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zROfOS6uA1z3" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z3AxOYWbrv4d" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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: 10pt; text-align: left; padding-bottom: 1pt"&gt;Warrants issued&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zNqZ5awzyZf2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zfM1NRJyMQmj" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Outstanding at March 31, 2024&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zjZ1vgCxFYlb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zifklVr0PSN5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zwSfftxRsYtd" title="Weighted average remaining contractual term (Years)"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuje6OQ157Ra" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Exercisable at March 31, 2024&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJ0w0RboN56" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z5dEkmOr9R64" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zDuCGXvcYmA9" title="Weighted average remaining contractual term (Years), Exercisable"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk2b74EfdENb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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: 4pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000924"
      unitRef="Shares">15000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000926"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000928"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="0"
      id="Fact000930"
      unitRef="USD">1000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000932"
      unitRef="USDPShares">7.00</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000934"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000936"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000938"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000940"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000942"
      unitRef="Shares">5000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000944"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      id="Fact000946">Each share of Series C Convertible Preferred Stock has 172 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000948"
      unitRef="USDPShares">5.50</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2021-02-252021-02-26_custom_PurchaseAgreementMember_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="0"
      id="Fact000953"
      unitRef="USD">4500000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <duot:SeriesCPreferredConvertedToCommonStockShares
      contextRef="From2022-01-012022-01-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000955"
      unitRef="Shares">454546</duot:SeriesCPreferredConvertedToCommonStockShares>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000957"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000959"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000961"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000963"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000965"
      unitRef="Shares">4000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000967"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      id="Fact000969">Each share of Series D Convertible Preferred
Stock has 333 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000971"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000973"
      unitRef="Shares">999</us-gaap:PreferredStockSharesIssued>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2022-09-292022-09-30_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember"
      decimals="0"
      id="Fact000975"
      unitRef="USD">999000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember"
      decimals="INF"
      id="Fact000977"
      unitRef="Shares">300</us-gaap:PreferredStockSharesIssued>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2022-10-282022-10-29_custom_ConvertibleSeriesDPreferredStockMember_custom_PurchaseAgreementMember"
      decimals="0"
      id="Fact000979"
      unitRef="USD">300000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000981"
      unitRef="Shares">620</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000983"
      unitRef="USDPShares">1000</us-gaap:SharePrice>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="0"
      id="Fact000985"
      unitRef="USD">620000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000987"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000989"
      unitRef="Shares">620</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:PreferredStockConvertibleSharesIssuable
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000991"
      unitRef="Shares">206667</us-gaap:PreferredStockConvertibleSharesIssuable>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000993"
      unitRef="Shares">1919</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000995"
      unitRef="Shares">1919</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000997"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000999"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesOutstanding>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001002"
      unitRef="Shares">30000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001003"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      id="Fact001004">Each share of Series E Convertible Preferred Stock has 333 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001006"
      unitRef="Shares">4000</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001008"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2023-03-262023-03-27_custom_ConvertibleSeriesEPreferredStockMember_custom_PurchaseAgreementMember"
      decimals="0"
      id="Fact001010"
      unitRef="USD">4000000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <duot:SeriesEPreferredConvertiblePreferredStockShares
      contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001012"
      unitRef="Shares">2500</duot:SeriesEPreferredConvertiblePreferredStockShares>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001014"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="0"
      id="Fact001016"
      unitRef="USD">2500000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001018"
      unitRef="Shares">5000</us-gaap:SharesIssued>
    <us-gaap:SharePrice
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001020"
      unitRef="USDPShares">1000</us-gaap:SharePrice>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001022"
      unitRef="USDPShares">3.00</us-gaap:SharesIssuedPricePerShare>
    <duot:StockExchangeShares
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001024"
      unitRef="Shares">5000</duot:StockExchangeShares>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001026"
      unitRef="USDPShares">6.20</us-gaap:SharesIssuedPricePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001028"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:NumberOfSharesExchanged
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001030"
      unitRef="Shares">5000</duot:NumberOfSharesExchanged>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001032"
      unitRef="Shares">7500</us-gaap:SharesIssued>
    <duot:NumberOfSharesCancelled
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001034"
      unitRef="Shares">5000</duot:NumberOfSharesCancelled>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001036"
      unitRef="Shares">2125</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001038"
      unitRef="USDPShares">1000</us-gaap:SharePrice>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="0"
      id="Fact001040"
      unitRef="USD">2125002</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001042"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001044"
      unitRef="Shares">2125</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:PreferredStockConvertibleSharesIssuable
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001046"
      unitRef="Shares">708333</us-gaap:PreferredStockConvertibleSharesIssuable>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001048"
      unitRef="Shares">13625</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001050"
      unitRef="Shares">13625</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001052"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001054"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesOutstanding>
    <duot:SeriesFPreferredConvertiblePreferredStockShares
      contextRef="From2023-07-302023-08-02"
      decimals="INF"
      id="Fact001058"
      unitRef="Shares">5000</duot:SeriesFPreferredConvertiblePreferredStockShares>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2023-07-302023-08-02"
      decimals="0"
      id="Fact001060"
      unitRef="USD">5000000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001062"
      unitRef="Shares">5000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001064"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001066"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2024-01-012024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      id="Fact001068">Each share of Series F Preferred Stock had 161 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001070"
      unitRef="Shares">2500</us-gaap:SharesIssued>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001072"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <duot:StockExchangeShares
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001074"
      unitRef="Shares">5000</duot:StockExchangeShares>
    <duot:StockExchangeShares
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001076"
      unitRef="Shares">5000</duot:StockExchangeShares>
    <us-gaap:CapitalUnitsOutstanding
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001078"
      unitRef="Shares">0</us-gaap:CapitalUnitsOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001080"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-03-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001082"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001084"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001086"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2024-01-012024-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001088"
      unitRef="Shares">8655</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2024-01-012024-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact001090"
      unitRef="USD">37500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="AsOf2024-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001092"
      unitRef="USDPShares">4.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001094"
      unitRef="Shares">12463</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact001096"
      unitRef="USD">32500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="AsOf2023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001098"
      unitRef="USDPShares">2.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="From2022-10-012022-12-31_custom_EmployeeStockPurchasePlanMember"
      id="Fact001101">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription
      contextRef="From2024-01-012024-03-31_custom_EmployeeStockPurchasePlanMember"
      id="Fact001103">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>
    <duot:FairMarketValuePercentage
      contextRef="From2022-10-012022-12-31_custom_EmployeeStockPurchasePlanMember182930000"
      decimals="INF"
      id="Fact001105"
      unitRef="Pure">0.85</duot:FairMarketValuePercentage>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="AsOf2024-03-31_custom_EmployeeStockPurchasePlanMember"
      decimals="INF"
      id="Fact001107"
      unitRef="Shares">1000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember_custom_EmployeeStockPurchasePlanMember"
      decimals="INF"
      id="Fact001109"
      unitRef="Pure">0.15</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="From2024-01-012024-03-31_us-gaap_CallOptionMember_custom_EmployeeStockPurchasePlanMember"
      decimals="INF"
      id="Fact001111"
      unitRef="Pure">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="From2024-01-012024-03-31_us-gaap_PutOptionMember_custom_EmployeeStockPurchasePlanMember"
      decimals="INF"
      id="Fact001113"
      unitRef="Pure">0.15</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="AsOf2024-03-31_custom_EmployeeStockPurchasePlanMember182930109"
      decimals="0"
      id="Fact001115"
      unitRef="USD">44686</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-01-012024-03-31_custom_EmployeeStockPurchasePlanMember182930109"
      decimals="0"
      id="Fact001117"
      unitRef="USD">18116</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001119">&lt;table cellpadding="0" cellspacing="0" id="xdx_884_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zQ9zJhcAnHU3" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Assumptions )"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B9_zGCm7FCWQOO3" style="display: none"&gt;Schedule of black scholes option pricing model&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&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;At&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;March 31, 2024&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="font-size: 10pt; text-align: justify"&gt;Grant date share price&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;&lt;span style="font-size: 10pt"&gt;$&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoxoiL9OcXRc" title="Grant date share price"&gt;2.70&lt;/span&gt; - $&lt;span id="xdx_900_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztnQHnoN7WSb" title="Grant date share price"&gt;4.34&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 10pt; text-align: justify"&gt;Grant date exercise price&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="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;$&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVTWZky5geP5" title="Grant date exercise price"&gt;2.30&lt;/span&gt; - $&lt;span id="xdx_90D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1MLninZ8CSd" title="Grant date exercise price"&gt;3.69&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="font-size: 10pt; text-align: justify"&gt;Expected term&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;&lt;span style="font-size: 10pt"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRrWkq6KNRwh" title="Expected term"&gt;0.25&lt;/span&gt; years&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 83%; font-size: 10pt; text-align: justify"&gt;Expected volatility&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxyEjlw2xzS2" title="Expected volatility"&gt;66.8&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; 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="font-size: 10pt; text-align: justify"&gt;Risk-free rate&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;&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSFSWKzIzpW8" title="Risk-free rate"&gt;5.41&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify"&gt;Expected dividend rate&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;&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd6EK8EbF367" title="Expected dividend rate"&gt;0&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice
      contextRef="From2024-01-012024-03-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001121"
      unitRef="USDPShares">2.70</duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice
      contextRef="From2024-01-012024-03-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001123"
      unitRef="USDPShares">4.34</duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsSharePrice>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice
      contextRef="From2024-01-012024-03-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001125"
      unitRef="USDPShares">2.30</duot:ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice
      contextRef="From2024-01-012024-03-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001127"
      unitRef="USDPShares">3.69</duot:ShareBasedCompensationArrangementByShareBasedPaymentsAwardFairValueAssumptionsExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001129">P0Y3M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001131"
      unitRef="Pure">0.668</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001133"
      unitRef="Pure">0.0541</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001135"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001137">&lt;table cellpadding="0" cellspacing="0" id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zbdtnbbViEX1" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Employee stock purchase plan)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&lt;span id="xdx_8BB_zLbdEKBX6o74" style="display: none"&gt;Schedule of stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240331_z37VU9Upe1O1" style="padding-bottom: 1pt; 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="font-size: 12pt"&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;At &lt;br/&gt; March 31, 2024&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_ecustom--CashPaymentReceivedFromEmployeeWithholdings_iI_zUodtH1odCQ8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Cash payment received from employee withholdings&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-size: 12pt; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font-size: 12pt; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;44,686&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp_iI_d0_zQbn0pTKPWt" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;Cash from employee withholdings used to purchase shares under ESPP&lt;/td&gt;&lt;td style="font-size: 12pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-size: 12pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--CashAndEsppEmployeeWithholdingLiability_iI_zBp4VSPVprF5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 84%; text-align: left; padding-bottom: 2.5pt"&gt;Cash and ESPP employee withholding liability&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 style="border-bottom: Black 2.5pt double; width: 14%; text-align: right"&gt;44,686&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 style="font-size: 12pt"&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" id="xdx_49B_20240101__20240331_zBbZ385qBCol" style="padding-bottom: 1pt; 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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;For the Three Months ended&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid"&gt;
    &lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;March 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;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--CashFromEmployeeWithholdingsUsedToPurchaseEsppShares_d0_z5ywiuAQUKZe" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 84%; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Cash from employee withholdings used to purchase ESPP shares&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--EmployeeBenefitsAndShareBasedCompensation_zGVAsWKLuWgc" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Stock based compensation expense&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;18,116&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_ecustom--TotalChargesRelatedToEmployeeStockPurchasePlan_zDnz3nH9T6zg" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Total increase to equity for three months ended March 31, 2024&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;18,116&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock>
    <duot:CashPaymentReceivedFromEmployeeWithholdings
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001139"
      unitRef="USD">44686</duot:CashPaymentReceivedFromEmployeeWithholdings>
    <duot:CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001141"
      unitRef="USD">0</duot:CashFromEmployeeWithholdingsUsedToPurchaseSharesUnderEspp>
    <duot:CashAndEsppEmployeeWithholdingLiability
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001143"
      unitRef="USD">44686</duot:CashAndEsppEmployeeWithholdingLiability>
    <duot:CashFromEmployeeWithholdingsUsedToPurchaseEsppShares
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001145"
      unitRef="USD">0</duot:CashFromEmployeeWithholdingsUsedToPurchaseEsppShares>
    <us-gaap:EmployeeBenefitsAndShareBasedCompensation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001147"
      unitRef="USD">18116</us-gaap:EmployeeBenefitsAndShareBasedCompensation>
    <duot:TotalChargesRelatedToEmployeeStockPurchasePlan
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001149"
      unitRef="USD">18116</duot:TotalChargesRelatedToEmployeeStockPurchasePlan>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-01-012024-03-31_custom_EmployeesAndDirectorsMember"
      decimals="0"
      id="Fact001151"
      unitRef="USD">141204</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-03-31_custom_EmployeesAndDirectorsMember"
      decimals="0"
      id="Fact001153"
      unitRef="USD">75128</us-gaap:AllocatedShareBasedCompensationExpense>
    <duot:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001155"
      unitRef="USD">438998</duot:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2021-05-112021-05-12_custom_Plan2021Member"
      decimals="INF"
      id="Fact001160"
      unitRef="Shares">1000000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001162"
      unitRef="Shares">1387775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001164"
      unitRef="Shares">1387775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001166"
      unitRef="Shares">766323</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31_custom_Plan2016Member"
      decimals="INF"
      id="Fact001168"
      unitRef="Shares">269658</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_custom_Plan2016Member"
      decimals="INF"
      id="Fact001170"
      unitRef="Shares">269658</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31_custom_Plan2021Member"
      decimals="INF"
      id="Fact001172"
      unitRef="Shares">788117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_custom_Plan2021Member"
      decimals="INF"
      id="Fact001174"
      unitRef="Shares">788117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31_custom_NonPlanMember"
      decimals="INF"
      id="Fact001176"
      unitRef="Shares">330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_custom_NonPlanMember"
      decimals="INF"
      id="Fact001178"
      unitRef="Shares">330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001180">&lt;table cellpadding="0" cellspacing="0" id="xdx_885_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_z2NSvuLDPiRl" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Non plan options)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="2" style="text-align: left; vertical-align: bottom"&gt;&lt;span id="xdx_8BA_zPlw08DxcvR8" style="display: none"&gt;Schedule of stock option issuance of shares&lt;/span&gt;&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&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;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 colspan="2" style="text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&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;Options&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="vertical-align: bottom; width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 46%; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z1KmbA2wUXUa" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;926,266&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zP6hBQUlmwJ5" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance"&gt;5.74&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zx9hF3LnqXec" title="Weighted average remaining contractual term (Years)"&gt;3.3&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zUB4Gc66RBki" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Granted&lt;/span&gt;&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 id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zzPlZ0tw8Wvc" style="font-size: 10pt; text-align: right" title="Number of options, Granted"&gt;463,117&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;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIiUAoi3QFZj" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted"&gt;4.22&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;&lt;span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zEGJpUk39iE9" title="Weighted average remaining contractual term (Years), Granted"&gt;4.35&lt;/span&gt;&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;$&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Forfeited&lt;/span&gt;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOBL9mgOpGjc" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Forfeited"&gt;(1,608&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zuWBQc1QAGWh" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Forfeited"&gt;14.00&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zBN3UEPdvYTi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;1,387,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZFyKsUZ8dMg" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance"&gt;5.23&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zhI02mTDoZLf" title="Weighted average remaining contractual term (Years)"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd2V8Ax2WKYc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Exercisable at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zS1ErKCT33U8" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable"&gt;581,324&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpWGuNrfZhCk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;5.38&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfyd6LZL3mF3" title="Weighted average remaining contractual term (Years), Exercisable"&gt;1.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zycCOal3BqY5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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;&#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="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at December 31, 2023&lt;/span&gt;&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 id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYB5j0wWyI61" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;1,387,775&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;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAWOX4sBG8o3" style="font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding beginning balance"&gt;5.23&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;&lt;span id="xdx_908_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zHgpkZgr3zT6" title="Weighted average remaining contractual term (Years)"&gt;3.0&lt;/span&gt;&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;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zFMifSaFxdTh" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Granted&lt;/span&gt;&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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKBomTOhmQL4" style="font-size: 10pt; text-align: right" title="Number of options, Granted"&gt;&#x2014;&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNBt7aAxbpE1" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Granted"&gt;&#x2014;&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;&#x2014;&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;$&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Exercised/Forfeited/Expired&lt;/span&gt;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTFilSTLimt7" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of options, Exercised/Forfeited/Expired"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJWI1DkBjFAb" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercised/forfeited/expired"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Outstanding at March 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zxT2qOkQl6ha" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;1,387,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKztujvyNpVi" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price,  Outstanding ending balance"&gt;5.23&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztq4pXpZVvZh" title="Weighted average remaining contractual term (Years)"&gt;2.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgwFL3l5z6r5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; font-size: 10pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;Exercisable at March 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeyd6978FJbb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of options, Exercisable"&gt;766,323&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXWyvXRDJ98f" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;5.55&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_ztcSc9wkPo92" title="Weighted average remaining contractual term (Years), Exercisable"&gt;1.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zKuDjjodo7qk" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001182"
      unitRef="Shares">926266</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001184"
      unitRef="USDPShares">5.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001186">P3Y3M18D</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001188"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001190"
      unitRef="Shares">463117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001192"
      unitRef="USDPShares">4.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001194">P4Y4M6D</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001196"
      unitRef="Shares">1608</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001198"
      unitRef="USDPShares">14.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001200"
      unitRef="Shares">1387775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001202"
      unitRef="USDPShares">5.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001204">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001206"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001208"
      unitRef="Shares">581324</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001210"
      unitRef="USDPShares">5.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001212">P1Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001214"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001216"
      unitRef="Shares">1387775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001218"
      unitRef="USDPShares">5.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001220">P3Y</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001222"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001224"
      unitRef="Shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001226"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001228"
      unitRef="Shares">-0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001230"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001232"
      unitRef="Shares">1387775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001234"
      unitRef="USDPShares">5.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001236">P2Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001238"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001240"
      unitRef="Shares">766323</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001242"
      unitRef="USDPShares">5.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001244">P1Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001246"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001248">&lt;table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zscM8BVqHDCg" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - STOCKHOLDERS' EQUITY (Details - Warrants)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8BF_zQdhWT3Nh4Zg" 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: 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&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%; font-size: 10pt"&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgsxGyN2UUU5" style="width: 10%; font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;80,091&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbrF3FJ67R27" style="width: 10%; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance"&gt;8.63&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zasvs8F7l7p7" title="Weighted average remaining contractual term (Years)"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zFtzsfEJee1j" style="width: 10%; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; 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: 10pt; text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&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 id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZYcBuKR5Dhh" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised"&gt;(102,947&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zsvfoIz26L5k" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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: 10pt; text-align: left; padding-bottom: 1pt"&gt;Warrants issued&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zI9obmMeR794" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zM0ZiX5gva9h" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGHpay5CkLna" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zTofU3GzrjMa" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1k4WAnm8ege" title="Weighted average remaining contractual term (Years)"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWqpyFccTn47" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2023&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmuefweR5rf1" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJjvrRBeWzwc" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zY8xiAPkb3bf" title="Weighted average remaining contractual term (Years), Exercisable"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zWQCv3LFCD95" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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 style="font-size: 10pt"&gt;Outstanding at December 31, 2023&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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zvjv5Pdpwrfg" style="font-size: 10pt; text-align: right" title="Outstanding beginning balance"&gt;44,644&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;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zJHVXSreUDB6" style="font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding beginning balance"&gt;7.70&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;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8Q36rLJ4IW5" title="Weighted average remaining contractual term (Years)"&gt;0.7&lt;/span&gt;&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 id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iS_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z57J6Po3gSt1" style="font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding beginning balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; 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: 10pt; text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&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 id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_iN_pdp0_di0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zROfOS6uA1z3" style="font-size: 10pt; text-align: right" title="Number of warrants, Warrants expired, forfeited, cancelled or exercised"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z3AxOYWbrv4d" style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right" title="Weighted average exercise price, Warrants expired, forfeited, cancelled or exercised"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font: 11pt Calibri, Helvetica, Sans-Serif; 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: 10pt; text-align: left; padding-bottom: 1pt"&gt;Warrants issued&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ConversionOfStockSharesIssued1_pdp0_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zNqZ5awzyZf2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Number of warrants, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zfM1NRJyMQmj" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right" title="Weighted average exercise price, Warrants issued"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Outstanding at March 31, 2024&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pdp0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zjZ1vgCxFYlb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Outstanding ending balance"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zifklVr0PSN5" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Outstanding ending balance"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zwSfftxRsYtd" title="Weighted average remaining contractual term (Years)"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue_iE_d0_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuje6OQ157Ra" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Outstanding ending balance"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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: 10pt; padding-bottom: 2.5pt"&gt;Exercisable at March 31, 2024&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_pdp0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJ0w0RboN56" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Number of warrants, Exercisable"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z5dEkmOr9R64" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Weighted average exercise price, Exercisable"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zDuCGXvcYmA9" title="Weighted average remaining contractual term (Years), Exercisable"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_d0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk2b74EfdENb" style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right" title="Aggregate intrinsic value, Exercisable"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001250"
      unitRef="Shares">80091</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001252"
      unitRef="USDPShares">8.63</duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="Fact001254">P0Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001256"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001258"
      unitRef="Shares">102947</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <duot:WarrantsExpiredForfeitedCancelledOrExercised
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001260"
      unitRef="USDPShares">0</duot:WarrantsExpiredForfeitedCancelledOrExercised>
    <us-gaap:ConversionOfStockSharesIssued1
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001262"
      unitRef="Shares">0</us-gaap:ConversionOfStockSharesIssued1>
    <duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001264"
      unitRef="USDPShares">0</duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001266"
      unitRef="Shares">44644</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001268"
      unitRef="USDPShares">7.70</duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="Fact001270">P0Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001272"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001274"
      unitRef="Shares">44644</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001276"
      unitRef="USDPShares">7.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="Fact001278">P0Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="0"
      id="Fact001280"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001282"
      unitRef="Shares">44644</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001284"
      unitRef="USDPShares">7.70</duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="Fact001286">P0Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001288"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001290"
      unitRef="Shares">-0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <duot:WarrantsExpiredForfeitedCancelledOrExercised
      contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001292"
      unitRef="USDPShares">0</duot:WarrantsExpiredForfeitedCancelledOrExercised>
    <us-gaap:ConversionOfStockSharesIssued1
      contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001294"
      unitRef="Shares">0</us-gaap:ConversionOfStockSharesIssued1>
    <duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice
      contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001296"
      unitRef="USDPShares">0</duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001298"
      unitRef="Shares">44644</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001300"
      unitRef="USDPShares">7.70</duot:ShareBasedCompensationArrangementByShareBasedPaymentWarrantOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember"
      id="Fact001302">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue
      contextRef="AsOf2024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001304"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001306"
      unitRef="Shares">44644</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2024-03-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact001308"
      unitRef="USDPShares">7.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2024-01-012024-03-31_us-gaap_WarrantMember"
      id="Fact001310">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2024-03-31_us-gaap_WarrantMember"
      decimals="0"
      id="Fact001312"
      unitRef="USD">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001316">&lt;p id="xdx_80C_eus-gaap--RevenueFromContractWithCustomerTextBlock_z4AmkX1afXx1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 6 - &lt;span id="xdx_825_zOqdpbWozWA3"&gt;REVENUE 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;&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;Revenue Recognition and Contract Accounting&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;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"&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 cost incurred to total estimated costs.&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;At March 31, 2024 and December 31, 2023, contract
assets on uncompleted contracts consisted of the following:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_883_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zFaJKAcwuaMh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B1_z4PqynwAYAwe" 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_49F_20240331_zvdmp9ztZgTk" 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_49F_20231231_z255Gwkiugb9" 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;March 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;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt"&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;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="padding-bottom: 1pt; font-size: 8pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--CumulativeRevenueRecognized_iI_pp0p0_maCWCANzFM7_zCK4nX2zzQeg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; font-size: 10pt; text-align: justify"&gt;Cumulative revenues recognized&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;9,090,355&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;8,820,256&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zbnX8ctwvj6l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Less: Billings or cash received&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(8,178,309&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(8,178,309&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zYdx2he8tHh2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt"&gt;Contract assets&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;912,046&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;641,947&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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;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"&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, which recognizes revenues based on the ratio of the cost 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;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;At March 31, 2024 and December 31, 2023, contract
liabilities on uncompleted contracts and contract liabilities on services and consulting consisted of the following:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zAnkaKICg8H5" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B1_zMhmUjDy4549" 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_49D_20240331_zDFirvnDEwWd" 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_490_20231231_z5TmcVQQQru5" 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;March 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;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt"&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;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="padding-bottom: 1pt; font-size: 8pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_maCLTSzZSN_znoUEvp2VIK9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; font-size: 10pt; text-align: justify"&gt;Billings and/or cash receipts on uncompleted contracts&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;1,264,658&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;1,264,658&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--CumulativeRevenuesRecognized_iNI_pp0p0_di_msCLTSzZSN_z102RUas0ln3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Less: Cumulative revenues recognized&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(199,976&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(199,976&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_mtCLTSzZSN_maCWCLz9Ae_zdue4UgPKeml" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; text-align: justify"&gt;Contract liabilities, technology systems&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;1,064,682&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;1,064,682&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_ecustom--ContractLiabilitiesServicesAndConsulting_iI_maCWCLz9Ae_zkYJ398sA3ed" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Contract liabilities, services and consulting&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;628,258&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;601,561&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--ContractWithCustomerLiability_iTI_mtCWCLz9Ae_z3deCY3JPcxk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt"&gt;Total contract liabilities&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;1,692,940&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;1,666,243&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; 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;Contract liabilities at December 31, 2023 were $&lt;span id="xdx_90A_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20231231_zBUWXm48d6tl" title="Contract liabilities"&gt;1,666,243&lt;/span&gt;;
of which zero &lt;span id="xdx_90B_ecustom--ContractLiabilitiesForTechnologiesSystems_iI_c20231231_zLlsthqmnMkk" title="Contract liabilities for technology systems"&gt;&lt;b style="display: none"&gt;0&lt;/b&gt;&lt;/span&gt; for technology
systems and $&lt;span id="xdx_903_ecustom--ServicesAndConsultingRecognized_iI_pp0p0_c20240331_z1rGFs5flM5e" title="Services and consulting recognized"&gt;292,947&lt;/span&gt; in services and consulting have been recognized as of March 31, 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;The Company expects to recognize all contract liabilities
within 12 months from the respective consolidated balance sheet date.&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: 4pt 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;Disaggregation of Revenue &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 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;&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;Qualitative:&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;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;1.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;We have four distinct revenue sources:&lt;/span&gt;&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;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 72px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;&lt;span style="font-size: 10pt"&gt;a.&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Technology Systems (Turnkey, engineered projects);&lt;/span&gt;&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-indent: 2.25pt"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 72px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;&lt;span style="font-size: 10pt"&gt;b.&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;AI Technology (Associated maintenance and support services);&lt;/span&gt;&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-indent: 2.25pt"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 72px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;&lt;span style="font-size: 10pt"&gt;c.&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Technical Support (Licensing and professional services related to auditing of data center assets); and&lt;/span&gt;&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-indent: 2.25pt"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 72px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;&lt;span style="font-size: 10pt"&gt;d.&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Consulting Services (Predetermined algorithms to provide important operating information to the users of our systems).&lt;/span&gt;&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;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;2.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;We currently operate in North America including the USA, Mexico and Canada.&lt;/span&gt;&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;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;3.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Our customers include rail transportation, commercial, government, banking and IT suppliers.&lt;/span&gt;&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;table cellpadding="0" cellspacing="0" style="font: 12pt 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;&lt;span style="font-size: 10pt"&gt;4.&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;Our services &amp;amp; maintenance contracts are fixed price and fall into two duration types:&lt;/span&gt;&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;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 72px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;&lt;span style="font-size: 10pt"&gt;a.&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;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;/span&gt;&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-indent: 2.25pt"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 72px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;&lt;span style="font-size: 10pt"&gt;b.&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-size: 10pt"&gt;Maintenance and support contracts ranging from one to five years in length.&lt;/span&gt;&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-indent: 2.25pt"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 4pt 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;Quantitative:&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 Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;For the Three Months Ended March 31, 2024&lt;/span&gt;&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;/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;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_891_eus-gaap--DisaggregationOfRevenueTableTextBlock_zOd7f1h0lyKd" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B5_zgD7Vai63pUl" style="display: none"&gt;Schedule of disaggregation of revenue&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;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="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Segments&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Rail&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Commercial&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Government&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Artificial Intelligence&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/span&gt;&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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Primary Geographical Markets&lt;/b&gt;&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;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&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;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; background-color: #CCEEFF"&gt;
    &lt;td style="width: 35%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;North America&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zgFFcpCg6vm" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,067,449&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjVlQHHovzQj" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zJN1JB6i9qj1" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXw7r9SrENx5" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_z97uSTN4WmI" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,070,680&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: #CCEEFF"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Major Goods and Service Lines&lt;/b&gt;&lt;/span&gt;&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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: white"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Turnkey Projects&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zMN39a9n3kdh" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zPTppSbyUsK5" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zBED3tlOOfE9" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zEc725hEygTb" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zl8SrvSPLpja" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&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&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Maintenance and Support&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zOjXvMXIbYp1" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;601,379&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zrjcyLHmHlHc" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zyKGtzj5mCm" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zDiC9FiLXt69" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zNbc48XirTPj" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;604,610&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Algorithms&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zx6gT6X7v8ng" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;195,971&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQxtucFbndE2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKqXL1ojM0Te" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuE6RNrVlKz2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zIK2bzYGTkk7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;195,971&lt;/span&gt;&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zfhFEsESE40d" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,067,449&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQSx2I9w9mee" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkTHmDFagmja" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_ziIKfaDmYk28" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,070,680&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: white"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Timing of Revenue Recognition&lt;/b&gt;&lt;/span&gt;&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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: #CCEEFF"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goods transferred over time&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zAoLyGSR71Bf" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zKPhWMbH75lj" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z4O1KYVSFUZ8" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z0jclwuQEFwg" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zblf0eYko9ek" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Services transferred over time&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zSB0cK14vUq7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;797,350&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zs0KWFZ1DnGa" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zbC1BqIqv9mc" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zxVV9dOtWgfj" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1422"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zsClrDQKyg9l" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;800,581&lt;/span&gt;&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zykhmdc05tya" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,067,449&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zbC1V9S0AWFj" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zAr2mzDnlW8k" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zcovcprtfC83" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1432"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_zWCwyoBFJEc3" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,070,680&lt;/span&gt;&lt;/td&gt;
    &lt;td&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: center"&gt;&lt;b&gt;&#160;&lt;/b&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 Three Months Ended March 31, 2023&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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&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;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="border-bottom: Black 1pt solid; font-size: 10pt; 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 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: 10pt; 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: 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;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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;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; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; font-size: 10pt; 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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zoXrJnzrGiPk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;2,376,449&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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z4MeuOdl0sg1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKIUXYerWKd1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXV8Md2VG4Jk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlHTc95EwRvi" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;2,644,288&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: 10pt; 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&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="font-size: 10pt; 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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zEHG9QLtqLub" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zdMkyRjLywHf" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zDJhHvJmNpkj" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zF9kb1xaB0L" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zN3TmrGkQHa4" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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: 10pt; text-align: left"&gt;Maintenance and 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zsu8HPSNxuS1" style="font-size: 9pt; text-align: right" title="Revenue"&gt;548,685&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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ43WoXhvS5d" style="font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zfT6Nz5pFGLg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z00nQ4Yzw4Lb" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zYojEBhe7BD4" style="font-size: 9pt; text-align: right" title="Revenue"&gt;588,869&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: 10pt; 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhVyCkt1YWz5" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zOpAb0jXPzb" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_ztUdU9scSdf9" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z3NLzFYqteua" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zarZq4SEOyg2" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z5RQM8menEU1" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,376,449&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwHSMXJ0Pyod" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zk49PIVTYkid" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z8aT8UmQF0f7" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331_zs4SLK6W9J04" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,644,288&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: rgb(204,238,255)"&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: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; 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: rgb(204,238,255)"&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: White"&gt;
    &lt;td style="font-size: 10pt; 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zz9jIF24V0aj" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zzmbGs5sHTEg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_pp0p0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z38ESOTBvep" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zP8ZmLcxiWs6" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zV8mRpQ8Qjef" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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: 10pt; 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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZpTNzm8rQv1" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;548,685&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_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zoAv5sP5blol" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuOzgpHXqPpk" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zB9fl5QxqSOd" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuFYERutrcw8" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;816,524&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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zXYIZufwAEmk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,376,449&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zpozpVziH4Ti" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zxiXWxQQP947" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zVjElz1sUgrd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_c20230101__20230331_z6fGVnyoLuG9" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,644,288&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_8AD_zR9zmo4gYFH5" 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;









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

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001318">&lt;table cellpadding="0" cellspacing="0" id="xdx_883_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zFaJKAcwuaMh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract assets)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B1_z4PqynwAYAwe" 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_49F_20240331_zvdmp9ztZgTk" 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_49F_20231231_z255Gwkiugb9" 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;March 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;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt"&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;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="padding-bottom: 1pt; font-size: 8pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--CumulativeRevenueRecognized_iI_pp0p0_maCWCANzFM7_zCK4nX2zzQeg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; font-size: 10pt; text-align: justify"&gt;Cumulative revenues recognized&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;9,090,355&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;8,820,256&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zbnX8ctwvj6l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Less: Billings or cash received&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(8,178,309&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(8,178,309&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zYdx2he8tHh2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt"&gt;Contract assets&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;912,046&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;641,947&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock>
    <duot:CumulativeRevenueRecognized
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001320"
      unitRef="USD">9090355</duot:CumulativeRevenueRecognized>
    <duot:CumulativeRevenueRecognized
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001321"
      unitRef="USD">8820256</duot:CumulativeRevenueRecognized>
    <duot:BillingsOrCashReceived
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001323"
      unitRef="USD">8178309</duot:BillingsOrCashReceived>
    <duot:BillingsOrCashReceived
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001324"
      unitRef="USD">8178309</duot:BillingsOrCashReceived>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001326"
      unitRef="USD">912046</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001327"
      unitRef="USD">641947</us-gaap:ContractWithCustomerAssetNetCurrent>
    <duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001329">&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zAnkaKICg8H5" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details - Contract liabilities)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B1_zMhmUjDy4549" 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_49D_20240331_zDFirvnDEwWd" 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_490_20231231_z5TmcVQQQru5" 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;March 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;2024&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt"&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;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="padding-bottom: 1pt; font-size: 8pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_maCLTSzZSN_znoUEvp2VIK9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; font-size: 10pt; text-align: justify"&gt;Billings and/or cash receipts on uncompleted contracts&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;1,264,658&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; font-size: 10pt; text-align: right"&gt;1,264,658&lt;/td&gt;&lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--CumulativeRevenuesRecognized_iNI_pp0p0_di_msCLTSzZSN_z102RUas0ln3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Less: Cumulative revenues recognized&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(199,976&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;(199,976&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_mtCLTSzZSN_maCWCLz9Ae_zdue4UgPKeml" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; text-align: justify"&gt;Contract liabilities, technology systems&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;1,064,682&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;1,064,682&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_ecustom--ContractLiabilitiesServicesAndConsulting_iI_maCWCLz9Ae_zkYJ398sA3ed" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Contract liabilities, services and consulting&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;628,258&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="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;601,561&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--ContractWithCustomerLiability_iTI_mtCWCLz9Ae_z3deCY3JPcxk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; text-align: justify; padding-bottom: 2.5pt"&gt;Total contract liabilities&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;1,692,940&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right"&gt;1,666,243&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock>
    <duot:BillingsAndorCashReceiptsOnUncompletedContracts
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001331"
      unitRef="USD">1264658</duot:BillingsAndorCashReceiptsOnUncompletedContracts>
    <duot:BillingsAndorCashReceiptsOnUncompletedContracts
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001332"
      unitRef="USD">1264658</duot:BillingsAndorCashReceiptsOnUncompletedContracts>
    <duot:CumulativeRevenuesRecognized
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001334"
      unitRef="USD">199976</duot:CumulativeRevenuesRecognized>
    <duot:CumulativeRevenuesRecognized
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001335"
      unitRef="USD">199976</duot:CumulativeRevenuesRecognized>
    <duot:ContractLiabilitiesTechnologiesSystems
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001337"
      unitRef="USD">1064682</duot:ContractLiabilitiesTechnologiesSystems>
    <duot:ContractLiabilitiesTechnologiesSystems
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001338"
      unitRef="USD">1064682</duot:ContractLiabilitiesTechnologiesSystems>
    <duot:ContractLiabilitiesServicesAndConsulting
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001340"
      unitRef="USD">628258</duot:ContractLiabilitiesServicesAndConsulting>
    <duot:ContractLiabilitiesServicesAndConsulting
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001341"
      unitRef="USD">601561</duot:ContractLiabilitiesServicesAndConsulting>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001343"
      unitRef="USD">1692940</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001344"
      unitRef="USD">1666243</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001346"
      unitRef="USD">1666243</us-gaap:ContractWithCustomerLiabilityCurrent>
    <duot:ContractLiabilitiesForTechnologiesSystems
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001348"
      unitRef="USD">0</duot:ContractLiabilitiesForTechnologiesSystems>
    <duot:ServicesAndConsultingRecognized
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001350"
      unitRef="USD">292947</duot:ServicesAndConsultingRecognized>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001356">&lt;table cellpadding="0" cellspacing="0" id="xdx_891_eus-gaap--DisaggregationOfRevenueTableTextBlock_zOd7f1h0lyKd" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUE AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B5_zgD7Vai63pUl" style="display: none"&gt;Schedule of disaggregation of revenue&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;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="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Segments&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Rail&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Commercial&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Government&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Artificial Intelligence&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/span&gt;&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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Primary Geographical Markets&lt;/b&gt;&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;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&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;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; background-color: #CCEEFF"&gt;
    &lt;td style="width: 35%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;North America&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zgFFcpCg6vm" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,067,449&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjVlQHHovzQj" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zJN1JB6i9qj1" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXw7r9SrENx5" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_z97uSTN4WmI" style="border-bottom: black 2.25pt double; width: 10%; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,070,680&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: #CCEEFF"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Major Goods and Service Lines&lt;/b&gt;&lt;/span&gt;&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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: white"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Turnkey Projects&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zMN39a9n3kdh" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zPTppSbyUsK5" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zBED3tlOOfE9" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zEc725hEygTb" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zl8SrvSPLpja" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&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&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Maintenance and Support&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zOjXvMXIbYp1" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;601,379&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zrjcyLHmHlHc" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zyKGtzj5mCm" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zDiC9FiLXt69" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zNbc48XirTPj" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;604,610&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Algorithms&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zx6gT6X7v8ng" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;195,971&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQxtucFbndE2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKqXL1ojM0Te" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuE6RNrVlKz2" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zIK2bzYGTkk7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;195,971&lt;/span&gt;&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zfhFEsESE40d" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,067,449&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zQSx2I9w9mee" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkTHmDFagmja" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_ziIKfaDmYk28" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,070,680&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: white"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Timing of Revenue Recognition&lt;/b&gt;&lt;/span&gt;&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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 style="padding-bottom: 1pt"&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"&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 style="padding-bottom: 1pt; 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: #CCEEFF"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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&gt;&#160;&lt;/td&gt;
    &lt;td 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; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goods transferred over time&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zAoLyGSR71Bf" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zKPhWMbH75lj" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z4O1KYVSFUZ8" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z0jclwuQEFwg" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zblf0eYko9ek" style="text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;270,099&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Services transferred over time&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zSB0cK14vUq7" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;797,350&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zs0KWFZ1DnGa" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zbC1BqIqv9mc" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zxVV9dOtWgfj" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1422"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zsClrDQKyg9l" style="border-bottom: black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;800,581&lt;/span&gt;&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zykhmdc05tya" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,067,449&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zbC1V9S0AWFj" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;3,231&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zAr2mzDnlW8k" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zcovcprtfC83" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1432"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331_zWCwyoBFJEc3" style="border-bottom: black 2.25pt double; text-align: right" title="Revenue"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 9pt"&gt;1,070,680&lt;/span&gt;&lt;/td&gt;
    &lt;td&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: center"&gt;&lt;b&gt;&#160;&lt;/b&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 Three Months Ended March 31, 2023&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 12pt 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&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;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="border-bottom: Black 1pt solid; font-size: 10pt; 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 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: 10pt; 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: 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;/tr&gt;
  &lt;tr style="vertical-align: bottom"&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;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; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; font-size: 10pt; 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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zoXrJnzrGiPk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;2,376,449&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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z4MeuOdl0sg1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zKIUXYerWKd1" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXV8Md2VG4Jk" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_pp0p0_c20230101__20230331__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlHTc95EwRvi" style="border-bottom: Black 2.5pt double; width: 10%; font-size: 9pt; text-align: right" title="Revenue"&gt;2,644,288&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: 10pt; 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&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="font-size: 10pt; 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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zEHG9QLtqLub" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zdMkyRjLywHf" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zDJhHvJmNpkj" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zF9kb1xaB0L" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zN3TmrGkQHa4" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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: 10pt; text-align: left"&gt;Maintenance and 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zsu8HPSNxuS1" style="font-size: 9pt; text-align: right" title="Revenue"&gt;548,685&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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ43WoXhvS5d" style="font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zfT6Nz5pFGLg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z00nQ4Yzw4Lb" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_c20230101__20230331__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zYojEBhe7BD4" style="font-size: 9pt; text-align: right" title="Revenue"&gt;588,869&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: 10pt; 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhVyCkt1YWz5" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zOpAb0jXPzb" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_d0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_ztUdU9scSdf9" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z3NLzFYqteua" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zarZq4SEOyg2" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z5RQM8menEU1" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,376,449&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwHSMXJ0Pyod" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zk49PIVTYkid" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z8aT8UmQF0f7" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331_zs4SLK6W9J04" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,644,288&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: rgb(204,238,255)"&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: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; 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: rgb(204,238,255)"&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: White"&gt;
    &lt;td style="font-size: 10pt; 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zz9jIF24V0aj" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zzmbGs5sHTEg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_pp0p0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_z38ESOTBvep" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_d0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zP8ZmLcxiWs6" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&#x2014;&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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zV8mRpQ8Qjef" style="font-size: 9pt; text-align: right" title="Revenue"&gt;1,827,764&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: 10pt; 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_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZpTNzm8rQv1" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;548,685&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_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zoAv5sP5blol" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuOzgpHXqPpk" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zB9fl5QxqSOd" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_c20230101__20230331__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zuFYERutrcw8" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;816,524&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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zXYIZufwAEmk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,376,449&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_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zpozpVziH4Ti" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;28,831&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zxiXWxQQP947" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;11,353&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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zVjElz1sUgrd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;227,655&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_c20230101__20230331_z6fGVnyoLuG9" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;2,644,288&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="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_RailMember"
      decimals="0"
      id="Fact001358"
      unitRef="USD">1067449</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_CommercialMember"
      decimals="0"
      id="Fact001360"
      unitRef="USD">3231</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001362"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001364"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_srt_NorthAmericaMember"
      decimals="0"
      id="Fact001366"
      unitRef="USD">1070680</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_RailMember"
      decimals="0"
      id="Fact001368"
      unitRef="USD">270099</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_CommercialMember"
      decimals="0"
      id="Fact001370"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001372"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001374"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_TurnkeyProjectsMember"
      decimals="0"
      id="Fact001376"
      unitRef="USD">270099</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_RailMember"
      decimals="0"
      id="Fact001378"
      unitRef="USD">601379</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_CommercialMember"
      decimals="0"
      id="Fact001380"
      unitRef="USD">3231</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001382"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001384"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_MaintenanceAndSupportMember"
      decimals="0"
      id="Fact001386"
      unitRef="USD">604610</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_RailMember"
      decimals="0"
      id="Fact001388"
      unitRef="USD">195971</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_CommercialMember"
      decimals="0"
      id="Fact001390"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001392"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001394"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_AlgorithmsMember"
      decimals="0"
      id="Fact001396"
      unitRef="USD">195971</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_RailMember"
      decimals="0"
      id="Fact001398"
      unitRef="USD">1067449</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_CommercialMember"
      decimals="0"
      id="Fact001400"
      unitRef="USD">3231</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001402"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001404"
      unitRef="USD">1070680</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_RailMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001406"
      unitRef="USD">270099</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001408"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001410"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001412"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001414"
      unitRef="USD">270099</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_RailMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001416"
      unitRef="USD">797350</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001418"
      unitRef="USD">3231</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001420"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001424"
      unitRef="USD">800581</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_RailMember"
      decimals="0"
      id="Fact001426"
      unitRef="USD">1067449</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_CommercialMember"
      decimals="0"
      id="Fact001428"
      unitRef="USD">3231</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001430"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001434"
      unitRef="USD">1070680</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_RailMember"
      decimals="0"
      id="Fact001439"
      unitRef="USD">2376449</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_CommercialMember"
      decimals="0"
      id="Fact001441"
      unitRef="USD">28831</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001443"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001445"
      unitRef="USD">227655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_srt_NorthAmericaMember"
      decimals="0"
      id="Fact001447"
      unitRef="USD">2644288</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_RailMember"
      decimals="0"
      id="Fact001449"
      unitRef="USD">1827764</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_CommercialMember"
      decimals="0"
      id="Fact001451"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001453"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001455"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_TurnkeyProjectsMember"
      decimals="0"
      id="Fact001457"
      unitRef="USD">1827764</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_RailMember"
      decimals="0"
      id="Fact001459"
      unitRef="USD">548685</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_CommercialMember"
      decimals="0"
      id="Fact001461"
      unitRef="USD">28831</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001463"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001465"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_MaintenanceAndSupportMember"
      decimals="0"
      id="Fact001467"
      unitRef="USD">588869</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_RailMember"
      decimals="0"
      id="Fact001469"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_CommercialMember"
      decimals="0"
      id="Fact001471"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001473"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001475"
      unitRef="USD">227655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_AlgorithmsMember"
      decimals="0"
      id="Fact001477"
      unitRef="USD">227655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_RailMember"
      decimals="0"
      id="Fact001479"
      unitRef="USD">2376449</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_CommercialMember"
      decimals="0"
      id="Fact001481"
      unitRef="USD">28831</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001483"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001485"
      unitRef="USD">227655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact001487"
      unitRef="USD">2644288</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_RailMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001489"
      unitRef="USD">1827764</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001491"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001493"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001495"
      unitRef="USD">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001497"
      unitRef="USD">1827764</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_RailMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001499"
      unitRef="USD">548685</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001501"
      unitRef="USD">28831</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001503"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001505"
      unitRef="USD">227655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001507"
      unitRef="USD">816524</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_RailMember"
      decimals="0"
      id="Fact001509"
      unitRef="USD">2376449</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_CommercialMember"
      decimals="0"
      id="Fact001511"
      unitRef="USD">28831</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001513"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001515"
      unitRef="USD">227655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact001517"
      unitRef="USD">2644288</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DefinedContributionPlanTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001521">&lt;p id="xdx_809_eus-gaap--DefinedContributionPlanTextBlock_z84l6xa9PFoi" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 7 &#x2013; &lt;span id="xdx_82E_z02Kb5QSDPOc"&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
three months ended March 31, 2024, the Company matched 100% of the first 4% of eligible employee compensation that was contributed
to the 401(k) Plan. For the three months ended March 31, 2024, the Company recognized expense for matching cash contributions to the 401(k)
Plan totaling $&lt;span id="xdx_902_eus-gaap--DefinedBenefitPlanServiceCost_pp0p0_c20240101__20240331_zFjLTjBaRPD3" title="Cash contributions"&gt;55,099&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="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001523"
      unitRef="USD">55099</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001525">&lt;p id="xdx_808_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z5Jtj62U3sw" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 8 &#x2013; &lt;span id="xdx_820_zHfKsxtK6qkf"&gt;RELATED PARTY TRANSACTIONS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 11pt Calibri, 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;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;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <duot:SaleOfAssetsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001527">&lt;p id="xdx_802_ecustom--SaleOfAssetsTextBlock_zk4JuWZa71j2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 9 &#x2013; &lt;span id="xdx_820_zDOT57vAhoUl"&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 and now current Chief Financial Officer is a director. Said 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_908_ecustom--PrincipalAmount_pp0p0_c20240101__20240331_z4uOjU5YCly1" title="Principal amount"&gt;165,000&lt;/span&gt; with a &lt;span id="xdx_906_ecustom--OriginalIssueDiscount_dp_c20240101__20240331_zHI7LuRSW6Je" 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_90C_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20240331_zYuXpxR8qLV8" title="Conversion price"&gt;0.003&lt;/span&gt;
or &lt;span id="xdx_901_eus-gaap--CommonStockDividendsShares_c20240101__20240331_zk75FYt03RNk" 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_902_ecustom--PurchaseOfCommonStockWarrants_c20240101__20240331_zFZ5PEBI21t6" 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_c20240101__20240331_z9cf3HkcFwk5" 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_c20240101__20240331_zPXSbL6B6rT7" title="Sale of asset"&gt;150,000&lt;/span&gt;, which is included in other income in 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;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;The note receivable was recorded as follows on March
31, 2024:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_884_ecustom--ScheduleOfNoteReceivableTableTextBlock_z02hNZnbWt0e" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&lt;span id="xdx_8B2_zK1CoC8ZFxF4" style="display: none"&gt;Schedule of note receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240331_zTtV1DP8klKf" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&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;March 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;2024&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 id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_zDygfZ13bA0i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 83%; text-align: justify"&gt;Convertible note 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;165,000&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--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zWBvX2puWvs4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Unamortized discount&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;(9,375&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zdbwpySGePwb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Convertible note 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;155,625&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;











&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;

</duot:SaleOfAssetsTextBlock>
    <duot:PrincipalAmount
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001529"
      unitRef="USD">165000</duot:PrincipalAmount>
    <duot:OriginalIssueDiscount
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001531"
      unitRef="Pure">0.10</duot:OriginalIssueDiscount>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact001533"
      unitRef="USDPShares">0.003</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:CommonStockDividendsShares
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001535"
      unitRef="Shares">55000000</us-gaap:CommonStockDividendsShares>
    <duot:PurchaseOfCommonStockWarrants
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001537"
      unitRef="Shares">55000000</duot:PurchaseOfCommonStockWarrants>
    <us-gaap:WarrantExercisePriceIncrease
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001539"
      unitRef="USDPShares">0.01</us-gaap:WarrantExercisePriceIncrease>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001541"
      unitRef="USD">150000</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <duot:ScheduleOfNoteReceivableTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001543">&lt;table cellpadding="0" cellspacing="0" id="xdx_884_ecustom--ScheduleOfNoteReceivableTableTextBlock_z02hNZnbWt0e" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&gt;&lt;span id="xdx_8B2_zK1CoC8ZFxF4" style="display: none"&gt;Schedule of note receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240331_zTtV1DP8klKf" style="font-size: 12pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 12pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 12pt"&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;March 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;2024&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 id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_zDygfZ13bA0i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 83%; text-align: justify"&gt;Convertible note 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;165,000&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--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zWBvX2puWvs4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Unamortized discount&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;(9,375&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zdbwpySGePwb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Convertible note 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;155,625&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:ScheduleOfNoteReceivableTableTextBlock>
    <duot:ConvertibleNoteReceivable
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001545"
      unitRef="USD">165000</duot:ConvertibleNoteReceivable>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001547"
      unitRef="USD">9375</us-gaap:DebtInstrumentUnamortizedDiscount>
    <duot:ConvertibleNoteReceivableNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001549"
      unitRef="USD">155625</duot:ConvertibleNoteReceivableNet>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001554">&lt;p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_z4CzmN149SNd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 10 &#x2013; &lt;span id="xdx_827_zo2dXug8NHq6"&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;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On April 3, 2024, the Company received aggregate proceeds
of $&lt;span id="xdx_908_eus-gaap--SaleOfStockConsiderationReceivedOnTransaction_c20240402__20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z5P8E5PotLx5" title="Aggregate proceeds"&gt;250,000&lt;/span&gt; related to the sale of &lt;span id="xdx_90F_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240402__20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zE2jUOehqov5" title="Sale of stock, shares"&gt;250&lt;/span&gt; shares of Series D Preferred Stock. The Series D Preferred Stock is convertible into Common Stock
at a conversion price of $&lt;span id="xdx_90A_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20240403__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zH4XU4YRfDyi" title="Conversion price"&gt;3.00&lt;/span&gt; per share.&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 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 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;)).&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 April 23, 2024, the Company changed the name of
its dormant subsidiary &#x201c;Duos Technologies International, Inc.&#x201d; to &#x201c;Duos Edge AI, Inc.&#x201d;&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 April 23, 2024, a holder of our Series D Preferred
Stock converted &lt;span id="xdx_902_eus-gaap--ConversionOfStockSharesConverted1_c20240422__20240423__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zCr0r961G7D" title="Conversion of shares"&gt;225&lt;/span&gt; shares of Series D Preferred Stock into &lt;span id="xdx_90B_eus-gaap--ConversionOfStockSharesConverted1_c20240422__20240423__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zJ0CPepFDFSh" title="Conversion of shares"&gt;75,000&lt;/span&gt; shares of Common 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 April 30, 2024, two holders of our Series D
Preferred Stock converted an aggregate of &lt;span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240429__20240430__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zWdQuyS4cvmg" title="Conversion of shares"&gt;350&lt;/span&gt;
shares of Series D Preferred Stock into &lt;span id="xdx_90E_eus-gaap--ConversionOfStockSharesConverted1_c20240429__20240430__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zLH9JFUzK4C2" title="Conversion of shares"&gt;116,668&lt;/span&gt;
shares of Common 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/107% Times New Roman, Times, Serif; margin: 0"&gt;On May 7, 2024, a holder of our Series D Preferred Stock converted
&lt;span id="xdx_907_eus-gaap--ConversionOfStockSharesConverted1_c20240506__20240507__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zolSaWfPGOI2" title="Conversion of shares"&gt;75&lt;/span&gt; shares of Series D Preferred Stock into &lt;span id="xdx_901_eus-gaap--ConversionOfStockSharesConverted1_c20240506__20240507__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_z3T8iZWOA3Ij" title="Conversion of shares"&gt;25,000&lt;/span&gt; shares of Common Stock.&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:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="From2024-04-022024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember"
      decimals="0"
      id="Fact001556"
      unitRef="USD">250000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="From2024-04-022024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001558"
      unitRef="Shares">250</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2024-04-03_us-gaap_SubsequentEventMember_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001560"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-04-222024-04-23_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001562"
      unitRef="Shares">225</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-04-222024-04-23_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001564"
      unitRef="Shares">75000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-04-292024-04-30_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001566"
      unitRef="Shares">350</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-04-292024-04-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001568"
      unitRef="Shares">116668</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-05-062024-05-07_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001570"
      unitRef="Shares">75</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="From2024-05-062024-05-07_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001572"
      unitRef="Shares">25000</us-gaap:ConversionOfStockSharesConverted1>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2024-01-01to2024-03-31" id="Fact001573">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2024-01-01to2024-03-31" id="Fact001574">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2024-01-01to2024-03-31" id="Fact001575">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2024-01-01to2024-03-31" id="Fact001576">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
