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

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Co-Diagnostics, Inc.
		CENTRAL INDEX KEY:			0001692415
		STANDARD INDUSTRIAL CLASSIFICATION:	SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				462609396
		STATE OF INCORPORATION:			UT
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		4049 SOUTH HIGHLAND DRIVE
		CITY:			SALT LAKE CITY
		STATE:			UT
		ZIP:			84124
		BUSINESS PHONE:		8012789769

	MAIL ADDRESS:	
		STREET 1:		4049 SOUTH HIGHLAND DRIVE
		CITY:			SALT LAKE CITY
		STATE:			UT
		ZIP:			84124
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>form10-k.htm
<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: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:CODX="http://codiagnostics.com/20231231">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02E_US%2DGAAP%2D2023%2D(with%2DECD) -->
<!-- Field: Set; Name: xdx; ID: xdx_03D_CODX_codiagnostics.com_20231231 -->
<!-- Field: Set; Name: xdx; ID: xdx_04A_20230101_20231231 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DDocumentFiscalPeriodFocus_FY -->
<!-- Field: Set; Name: xdx; ID: xdx_05D_edei%2D%2DEntityCentralIndexKey_0001692415 -->
<!-- Field: Set; Name: xdx; ID: xdx_076_XDX_form10%2Dk.xdx -->
<!-- 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 -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:AmendmentFlag" id="ixv-14706">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:DocumentFiscalPeriodFocus" id="ixv-14707">FY</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityCentralIndexKey" id="ixv-14708">0001692415</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetCurrent" contextRef="AsOf2023-12-31" id="xdx2ixbrl0073" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2022-12-31" id="xdx2ixbrl0113" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2023-12-31" id="xdx2ixbrl0124" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31" id="xdx2ixbrl0145" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31" id="xdx2ixbrl0146" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_GrantRevenueMember" id="xdx2ixbrl0209" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GoodwillImpairmentLoss" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0235" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0251" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0304" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0306" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0308" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0312" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0316" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0318" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0320" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0321" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0326" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0328" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0330" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0331" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0336" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0338" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0340" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0341" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0346" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0348" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0350" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0351" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0356" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0357" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0359" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0360" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0361" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0364" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0365" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0366" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0367" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0369" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0372" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0373" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0374" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0375" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0376" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0380" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0388" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0392" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0400" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0404" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0406" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0408" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0409" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0414" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0415" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0417" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0418" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0419" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0422" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0423" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0424" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0425" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0427" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0430" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0431" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0432" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0433" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0434" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0438" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0446" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0450" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0458" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GoodwillImpairmentLoss" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0474" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0487" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0546" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0567" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0568" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:BusinessAcquisitionMeasurementPeriodAdjustments" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0582" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:StockIssuedDuringPeriodValueAcquisitionsAdjustments" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0585" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0588" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2023-12-31_us-gaap_CashMember" id="xdx2ixbrl0695" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-01-012023-12-31_us-gaap_CashMember" id="xdx2ixbrl0697" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_CashMember" id="xdx2ixbrl0703" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0707" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-01-012023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0709" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0715" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0719" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0721" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0727" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0731" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0737" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0743" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0749" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2023-12-31" id="xdx2ixbrl0755" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2022-12-31_us-gaap_CashMember" id="xdx2ixbrl0767" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-01-012022-12-31_us-gaap_CashMember" id="xdx2ixbrl0769" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_CashMember" id="xdx2ixbrl0775" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0779" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-01-012022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0781" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0787" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0791" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-01-012022-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0793" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0799" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0803" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0815" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FinancingReceivableAllowanceForCreditLosses" contextRef="AsOf2022-12-31" id="xdx2ixbrl0827" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0842" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0843" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0846" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0848" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0853" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0856" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0857" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0861" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0862" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0866" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0867" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0873" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0876" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0878" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0883" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0886" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0887" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0891" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0892" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0896" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" id="xdx2ixbrl0897" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2022-12-31" id="xdx2ixbrl0977" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="xdx2ixbrl0979" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember" id="xdx2ixbrl0987" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember" id="xdx2ixbrl1009" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31_country_US_us-gaap_GrantMember" id="xdx2ixbrl1058" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_GrantMember" id="xdx2ixbrl1066" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_GrantMember" id="xdx2ixbrl1067" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2022-12-31" id="xdx2ixbrl1088" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1106" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1107" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1152" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1154" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1156" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1158" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1160" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1162" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1164" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1166" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1168" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1184" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1186" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1188" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1190" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1192" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1194" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1196" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1198" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1200" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1202" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1204" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1206" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1290" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1292" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1294" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1296" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1298" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1300" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1302" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1304" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1306" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1322" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1324" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1326" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1328" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1330" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1332" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1334" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1336" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1338" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1340" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1342" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1344" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ChangeInValuationAllowance" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1407" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2022-12-31" id="xdx2ixbrl1480" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" contextRef="AsOf2022-12-31" id="xdx2ixbrl1483" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2022-12-31" id="xdx2ixbrl1489" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" contextRef="AsOf2023-12-31" id="xdx2ixbrl1512" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" contextRef="AsOf2022-12-31" id="xdx2ixbrl1513" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" contextRef="AsOf2023-12-31" id="xdx2ixbrl1518" unitRef="USD" xs:nil="true"></ix:nonFraction>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="codx-20231231.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2023-01-01to2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-12">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-12</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ProductRevenueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:ProductRevenueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ProductRevenueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:ProductRevenueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_GrantRevenueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:GrantRevenueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_GrantRevenueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:GrantRevenueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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">0001692415</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_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</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_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</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_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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">0001692415</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="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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">0001692415</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_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</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="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</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_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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">0001692415</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="From2023-01-012023-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_OneCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:OneCustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_OneGrantingAgencyMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:OneGrantingAgencyMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersTogetherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersTogetherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CashMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CashMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</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_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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_CashMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</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_CashMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</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_MeasurementInputSharePriceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_MeasurementInputSharePriceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MeasurementInputStrikePriceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputStrikePriceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MeasurementInputStrikePriceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputStrikePriceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_MeasurementInputPriceVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_MeasurementInputPriceVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_MeasurementInputExpectedTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</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_EquipmentMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_EquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_EquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</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_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</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_NoncompeteAgreementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</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_NoncompeteAgreementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_country_US_us-gaap_ProductMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_country_US_us-gaap_ProductMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_country_US_us-gaap_GrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_country_US_us-gaap_GrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</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_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_ProductMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_ProductMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_GrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_GrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RestOfWorldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RestOfWorldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</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_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <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:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <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:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</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">0001692415</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="From2022-01-012022-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</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_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">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="AsOf2022-08-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</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">0001692415</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="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CostOfSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_CostOfSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_SellingAndMarketingExpenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_SellingAndMarketingExpenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_GeneralAndAdministrativeExpenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_GeneralAndAdministrativeExpenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ResearchAndDevelopmentExpenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_ResearchAndDevelopmentExpenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_LeaseAmendmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:LeaseAmendmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SethEganMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">CODX:SethEganMember</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_WinstonEganMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">CODX:WinstonEganMember</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_CoSaraDiagnosticsPvtLtdMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">CODX:CoSaraDiagnosticsPvtLtdMember</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-10-012023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli: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>
  <ix:relationship fromRefs="Fact000983" toRefs="Footnote001026"></ix:relationship>
  <ix:relationship fromRefs="Fact000991" toRefs="Footnote001026"></ix:relationship>
  <ix:relationship fromRefs="Fact001005" toRefs="Footnote001026"></ix:relationship>
  <ix:relationship fromRefs="Fact001013" toRefs="Footnote001026"></ix:relationship>
  </ix:resources>
 </ix:header>
</div>


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

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

<!-- Field: Rule-Page --><div style="width: 100%"><div style="border-top: Black 4pt solid; font-size: 1pt; border-bottom: Black 1.5pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>Form
<span id="xdx_90D_edei--DocumentType_c20230101__20231231_z6Ox6lQc5gzk"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:DocumentType" id="ixv-16109">10-K</ix:nonNumeric></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Mark
One)</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_edei--DocumentAnnualReport_c20230101__20231231_zN4pK8wgoWlh"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleantrue" name="dei:DocumentAnnualReport" id="ixv-16110">&#9746;</ix:nonNumeric></span>
ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the fiscal year ended <b><span id="xdx_901_edei--DocumentPeriodEndDate_c20230101__20231231_zlcUa3Opyoya"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="ixv-45"><span id="xdx_908_edei--CurrentFiscalYearEndDate_c20230101__20231231_z6ZBXZkcXwS2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:datemonthdayen" name="dei:CurrentFiscalYearEndDate" id="ixv-16111">December 31</ix:nonNumeric></span>, <span id="xdx_90B_edei--DocumentFiscalYearFocus_c20230101__20231231_zpvpLoBeOSn6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:DocumentFiscalYearFocus" id="ixv-16112">2023</ix:nonNumeric></span></ix:nonNumeric></span></b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_edei--DocumentTransitionReport_c20230101__20231231_z72ejaD7KrFd"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" name="dei:DocumentTransitionReport" id="ixv-16113">&#9744;</ix:nonNumeric></span>
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the transition period from_______to_______</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File Number <b><span id="xdx_904_edei--EntityFileNumber_c20230101__20231231_zMm4bXFKZQG8"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityFileNumber" id="ixv-16114">001-38148</ix:nonNumeric></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span id="xdx_905_edei--EntityRegistrantName_c20230101__20231231_zuScyUIuxmPg"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityRegistrantName" id="ixv-16115">CO-DIAGNOSTICS,
INC.</ix:nonNumeric></span></b></span></p>

<!-- Field: Rule-Page --><div style="width: 100%"><div style="border-top: Black 1.5pt solid; font-size: 1pt">&#160;</div></div><!-- Field: /Rule-Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
Name of Registrant as Specified in Its Charter)</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 80%; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90B_edei--EntityIncorporationStateCountryCode_c20230101__20231231_z2uZCnENoktk"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-16116">Utah</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90E_edei--EntityTaxIdentificationNumber_c20230101__20231231_zr82v3CcTsq2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityTaxIdentificationNumber" id="ixv-16117">46-2609396</ix:nonNumeric></span></b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
    or other jurisdiction of</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">incorporation
    or organization)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(I.R.S.
    Employer</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Identification
    Number)</span></p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_907_edei--EntityAddressAddressLine1_c20230101__20231231_zELiIdXdAAr8"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityAddressAddressLine1" id="ixv-16118">2401
S. Foothill Drive</ix:nonNumeric></span>, <span id="xdx_90D_edei--EntityAddressCityOrTown_c20230101__20231231_zdqpVnleWFxf"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityAddressCityOrTown" id="ixv-16119">Salt Lake City</ix:nonNumeric></span>, <span id="xdx_90F_edei--EntityAddressStateOrProvince_c20230101__20231231_zV2qJA6rOGa1"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="ixv-16120">Utah</ix:nonNumeric></span> <span id="xdx_902_edei--EntityAddressPostalZipCode_c20230101__20231231_zqD9RgmXoRbc"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityAddressPostalZipCode" id="ixv-16121">84109</ix:nonNumeric></span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
of principal executive offices and zip code)</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_90A_edei--CityAreaCode_c20230101__20231231_zuyBVnRkyOP7"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:CityAreaCode" id="ixv-16122">(801)</ix:nonNumeric></span>
<span id="xdx_902_edei--LocalPhoneNumber_c20230101__20231231_zc1gLOWADLU"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:LocalPhoneNumber" id="ixv-16123">438-1036</ix:nonNumeric></span></span></b></span></p>

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

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Title
    of each class</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 22%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Trading
    Symbol(s)</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 42%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Name
    of each exchange on which registered</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_edei--Security12bTitle_c20230101__20231231_zjrCVD94L3H7"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:Security12bTitle" id="ixv-16124">Common
    Stock</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90A_edei--TradingSymbol_c20230101__20231231_zYVtB2egr5uh"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:TradingSymbol" id="ixv-16125">CODX</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    <span id="xdx_904_edei--SecurityExchangeName_c20230101__20231231_ztDnBV1lCz8"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-16126">Nasdaq</ix:nonNumeric></span> Capital Market</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

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

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically and posted on its corporate Web site, if any, every Interactive Data
File required to be submitted and posted pursuant to Rule 405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding
12 months (or such shorter period that the registrant was required to submit and post such files). <span id="xdx_905_edei--EntityInteractiveDataCurrent_c20230101__20231231_zYteyGefkuek"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:EntityInteractiveDataCurrent" id="ixv-16130">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large
    accelerated filer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--EntityFilerCategory_c20230101__20231231_zSm6y2OjjLAf"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="ixv-16131">Non-accelerated
    filer</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_edei--EntitySmallBusiness_c20230101__20231231_zGzS76czTj0g"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleantrue" name="dei:EntitySmallBusiness" id="ixv-16132">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
    growth company</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--EntityEmergingGrowthCompany_c20230101__20231231_zQd6HUgdGUa6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany" id="ixv-16133">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

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

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

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

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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 stock was last sold as of the last business day of the registrant&#8217;s most recently completed second fiscal quarter was
approximately $<span id="xdx_907_edei--EntityPublicFloat_iI_c20230630_zowF3vgsl7Wa"><ix:nonFraction name="dei:EntityPublicFloat" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16137">33,000,000</ix:nonFraction></span>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 12, 2024, there were <span id="xdx_907_edei--EntityCommonStockSharesOutstanding_iI_pid_c20240312_zrVvb9VFsRq2"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-03-12" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16138">31,259,668</ix:nonFraction></span> shares of common stock, par value $0.001 per share, outstanding.</span></p>

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

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

<!-- Field: Rule-Page --><div style="width: 100%"><div style="border-top: Black 1.5pt solid; font-size: 1pt; border-bottom: Black 4pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Table
of Contents</b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Page</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><a href="#Z_001"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART I</b></span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_002"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Business.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_003"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Risk Factors.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1B.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_004"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unresolved Staff Comments.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1C.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_005"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cybersecurity</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">24</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    2.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_006"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Properties.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    3.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_007"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Legal Proceedings.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    4.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_008"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mine Safety Disclosures.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><a href="#Z_009"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART II</b></span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    5.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_010"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    6.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_011"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">[Reserved.]</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">28</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    7.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_012"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">28</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    7A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_013"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Quantitative and Qualitative Disclosures About Market Risk.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    8.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_014"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial Statements and Supplementary Data.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_015"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">55</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_016"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Controls and Procedures.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">55</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9B.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_017"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other Information.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">56</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9C.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_018"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">56</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><a href="#Z_019"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART III</b></span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    10.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_020"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Directors, Executive Officers and Corporate Governance.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">56</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    11.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_021"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Executive Compensation.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">61</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    12.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">64</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    13.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_023"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain Relationships and Related Transactions, and Director Independence.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">65</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    14.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_024"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal Accountant Fees and Services.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">65</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><a href="#Z_025"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART IV</b></span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    15.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#Z_026"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exhibits and Financial Statement Schedules.</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">66</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Annual Report on Form 10-K contains &#8220;forward-looking statements&#8221; that involve risks and uncertainties. All statements other
than statements of historical fact contained in this Annual Report and the documents incorporated by reference herein, including statements
regarding future events, our future financial performance, business strategy, and plans and objectives of management for future operations,
are forward-looking statements. We have attempted to identify forward-looking statements by terminology including &#8220;anticipates,&#8221;
&#8220;believes,&#8221; &#8220;can,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221;
&#8220;intends,&#8221; &#8220;may,&#8221; &#8220;plans,&#8221; &#8220;potential,&#8221; &#8220;predicts,&#8221; &#8220;should,&#8221;
or &#8220;will&#8221; or the negative of these terms or other comparable terminology. Although we do not make forward looking statements
unless we believe we have a reasonable basis for doing so, we cannot guarantee their accuracy. These statements are only predictions
and involve known and unknown risks, uncertainties and other factors which may affect our or our industry&#8217;s actual results, levels
of activity, performance or achievements expressed or implied by these forward-looking statements. Moreover, we operate in a highly regulated,
very competitive, and rapidly changing environment. New risks emerge from time to time, and it is not possible for us to predict all
risk factors, nor can we address the impact of all factors on our business or the extent to which any factor, or combination of factors,
may cause our actual results to differ materially from those contained in any forward-looking statements.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have based these forward-looking statements largely on our current expectations and projections about future events and financial trends
that we believe may affect our financial condition, results of operations, business strategy, short term and long-term business operations,
and financial needs. These forward-looking statements are subject to certain risks and uncertainties that could cause our actual results
to differ materially from those reflected in the forward-looking statements. Factors that could cause or contribute to such differences
include, but are not limited to, those discussed in this Annual Report, and in particular, the risks discussed under &#8220;<b>Item 1,
Business,&#8221; &#8220;Item 1A, Risk Factors,&#8221; and &#8220;Item 7, Management&#8217;s Discussion and Analysis of Financial Condition
and Results of Operations,&#8221;</b> and those discussed in other documents we file with the Securities and Exchange Commission (the
&#8220;SEC&#8221;). In light of these risks, uncertainties and assumptions, the forward-looking events and circumstances discussed in
this Annual Report may not occur as described and actual results could differ materially and adversely from those anticipated or implied
in the forward-looking statement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Important
factors that could cause actual results to differ materially from those in the forward-looking statements include, without limitation:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    results of clinical evaluations and the regulatory approval process;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">market
    acceptance of any products that may be approved for commercialization;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to protect our intellectual property rights;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    impact of any infringement actions or other litigation brought against us;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">competition
    from other providers and products;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to develop and commercialize new and improved products and services;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in government regulation;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
    other factors (including the risks contained in the section entitled &#8220;Risk Factors&#8221; in other documents we file with the
    SEC) relating to our industry, our operations and results of operations.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Should
one or more of these risks or uncertainties materialize, or should the underlying assumptions prove incorrect, actual results may differ
significantly from those anticipated, believed, estimated, expected, intended or planned.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Given
these risks and uncertainties, readers are cautioned not to place undue reliance on any forward-looking statements. Forward-looking statements
contained in this Annual Report speak only as of the date of this Annual Report. We undertake no obligation to update any forward-looking
statements as a result of new information, events or circumstances or other factors arising or coming to our attention after the date
hereof.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
used in this Annual Report, the terms &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our&#8221;, &#8220;Company&#8221;, &#8220;CODX&#8221;
and &#8220;Co-Diagnostics&#8221; means Co-Diagnostics, Inc., a Utah corporation and its consolidated subsidiaries (the &#8220;Company&#8221;),
unless otherwise indicated.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_002"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
1: BUSINESS</b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics, Inc., a Utah corporation (the &#8220;Company&#8221; or
&#8220;CODX&#8221;), develops, manufactures and sells reagents used for diagnostic tests that function via the detection and/or analysis
of nucleic acid molecules (DNA or RNA), including robust and innovative molecular tools for detection of infectious diseases, liquid biopsy
for cancer screening, and agricultural applications. Our diagnostics systems enable dependable, low-cost, molecular testing for organisms
and genetic diseases by automating or simplifying historically complex procedures in both the development and administration of tests.
CODX&#8217;s technical advance involves a novel, patented approach to PCR test design of primer and probe structure (&#8220;CoPrimers&#8482;&#8221;)
that eliminates one of the key vexing issues of PCR amplification: the exponential growth of primer-dimer pairs (false positives and false
negatives) which adversely interferes with identification of the target DNA/RNA. Using our proprietary test design system and proprietary
reagents, we have designed and obtained regulatory approval to sell PCR diagnostic tests for the detection of COVID-19, influenza, tuberculosis,
hepatitis B and C, human papillomavirus, malaria, chikungunya, dengue, and the Zika virus. These initial diagnostic tests were cleared
for use in clinical labs only and not for point-of-care or at-home use.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are currently developing a unique, groundbreaking portable diagnostic device and test system designed for point-of-care and at-home
use. The system is comprised of our PCR instrument that we refer to as the Co-Dx&#8482; PCR Pro&#8482; instrument, our proprietary
diagnostic test cup system and a mobile application to be installed on the user&#8217;s mobile device. We refer to the system as the
&#8220;Co-Dx&#8482; PCR platform that is being designed to bring affordable, reliable polymerase chain reaction (&#8220;PCR&#8221;)
testing to patients in point-of-care and at-home settings. The Co-Dx PCR platform is subject to U.S. Food and Drug Administration
(&#8220;FDA&#8221;) review and is not available for sale at the time of this filing. In December 2023, we submitted the Co-Dx PCR
platform for review by the U.S. Food and Drug Administration (FDA) for Emergency Use Authorization (EUA). The submission included
the PCR Pro instrument, Co-Dx PCR COVID-19 detection test cups, and mobile app, all designed for use in point-of-care and at-home
settings. There is no guarantee that our Co-Dx PCR platform will receive the necessary regulatory approvals for commercialization,
or that, if regulatory approval is received, we will be able to successfully commercialize this platform.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe our proprietary molecular diagnostics technology is paving the way for innovation in disease detection and life sciences research
through our enhanced detection of genetic material. For various reasons, including owning our own platform, we believe we will be able
to accomplish this faster and more economically than some competitors, allowing for significant margins while still positioning ourselves
as a low-cost provider of molecular diagnostics and screening services. For example, we were the first US-based company to receive a
CE-marking for a COVID-19 test in early 2020, as we worked to help slow the spread of the pandemic through our global network of distributors
covering clinical labs in more than 50 countries. Our Logix Smart COVID-19 test was designed, developed, submitted for regulatory approval
and ready to be used as an in vitro diagnostic or IVD in countries that accept a CE Mark as approval for use of the test in a period
of just over 30 days. This is a real-world example of how the CODX technology can be used in an evolving epidemic or pandemic to get
diagnostic tools in the hands of medical professionals in a timely manner. It can be similarly used to design a test for mutated strains
of the virus should they not be detectable using currently available tests.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, continued development has demonstrated the unique properties of our CoPrimer technology that we believe makes it ideally suited
for a variety of applications where specificity is key to optimal results, including multiplexing several targets, enhanced Single Nucleotide
Polymorphism (&#8220;SNP&#8221;) detection and enrichment for next generation sequencing.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
scientists use the complex mathematics of DNA/RNA PCR test design to engineer and optimize PCR tests and to automate algorithms that
rapidly screen millions of possible options to pinpoint the optimum design. The intellectual property we use in our business, consisting
of the predictive mathematical algorithms and patented molecular structure used in the testing process, which together represents a major
advance in PCR testing systems. CODX technologies are now protected by more than 20 granted or pending US and foreign patents, as well
as certain trade secrets and copyrights. Ownership of our proprietary platform permits us the advantage of avoiding payment of patent
royalties required by other PCR test systems, which may allow the sale of diagnostic PCR tests at a lower price than competitors, while
enabling us to maintain profit margins.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
proprietary test design process involves identifying the optimal locations on the target genes for amplification and pair the locations
with the optimized primer and probe structure to achieve outputs that meet the design input requirements identified from market research.
This is done by following planned and documented processes, procedures and testing. In other words, we use the data resulting from our
tests to verify whether we succeeded in designing what we intended. Verification involves a series of testing that concludes that the
product is ready to proceed to validation in an evaluation either in our laboratory or in an independent laboratory setting using initial
production tests to confirm that the product as designed meets the user needs.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Using
our proprietary test design system and proprietary reagents, we have designed and obtained regulatory approval in the European Community
and in India to sell PCR diagnostic tests for the detection of COVID-19, influenza, tuberculosis, hepatitis B and C, human papillomavirus,
malaria, chikungunya, dengue, and the Zika virus. In the United States, we obtained Emergency Use Authorization (&#8220;EUA&#8221;) for
our Logix Smart<span style="font-variant: small-caps">&#174;</span> COVID-19 detection test from the Food and Drug Administration, or
FDA, and we sell that test to qualified labs. In addition, our COVID-19 detection test and certain of our other suite of COVID-19 products
have been approved for sale in countries such as the United Kingdom, Australia and Mexico by the regulatory bodies in those countries
and have been registered for sale in many more countries. In connection with the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained
lab systems (which we refer to as the &#8220;MDx Device&#8221;).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition to testing for infectious disease, the technology lends itself to identifying any section of a DNA or RNA strand that describes
any type of genetic trait, which creates several significant applications. We, in conjunction with our customers, have designed and licensed tests that identify genetic traits in plant and animal genomes. We also have three multiplexed tests developed
to test mosquitos for the identification of diseases carried by the mosquitos to enable municipalities to concentrate their efforts in
managing mosquito populations on the specific areas known to be breeding the mosquitos that carry deadly viruses.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Co-Dx
PCR Platform </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We believe the benefits of affordable,
high-quality diagnostics should be available to everyone. High-quality point-of-care PCR testing plays a crucial role in healthcare.
It enables rapid diagnosis of infectious diseases, such as COVID-19 or tuberculosis, facilitating timely treatment and containment
measures. By delivering results on-site, it eliminates the need for sample transportation, reducing the risk that the sample is
transported incorrectly or lost enroute, reducing turnaround time to results, and allowing for immediate decision-making. The
quality of PCR testing at the point of care ensures reliable detection of pathogens, minimizing incorrect results. In short,
high-quality PCR testing at home and at the point of care enhances patient care, public health response, and helps control the
spread of infectious diseases. That is why we are developing the Co-Dx PCR platform utilizing our Co-Primers&#8482; real-time PCR
technology for at-home and point-of-care testing. Because we believe that testing for COVID-19 and other infectious diseases will
continue to be a consideration for public health worldwide, we initiated the Co-Dx PCR platform to facilitate frequent, affordable,
reliable polymerase chain reaction (&#8220;PCR&#8221;) testing to patients in point-of-care and at-home settings, including schools,
businesses, and the hospitality industry. We believe this may be accomplished through the development of a testing system comprised
of a compact, relatively low-cost testing device, the Co-Dx PCR Pro instrument, together with proprietary diagnostic test cups that
work with the Co-Dx Pro instrument and a mobile application, that is easy to use by professionals and non-professionals, that can
provide PCR test results in around 30 minutes. We believe that as user test results are gathered in the cloud following completion
of tests, the data may be useful for governmental health agencies and the World Health Organization to determine where outbreaks of
infectious diseases may be occurring and enable them to act more quickly and efficiently and slow-down or perhaps even prevent
further spread.</p>

<p style="font: 10pt Times New 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 6 &#189;&#8221; x 4 1/2&#8221; x 6&#8221;, 2
lbs. Co-Dx PCR Pro instrument operates via a smartphone app with simple-to-follow instructions that includes videos to walk users through
every step, some sample swab collection to the straightforward instrument operation. Results are processed in the cloud and delivered
back to the user&#8217;s smartphone or tablet in about 30 minutes using software designed from the ground-up for this specific use. The
PCR tests themselves (contained in the simple but unique, innovative test collection cups) are powered by patented Co-Dx Co-Primers&#8239;PCR
technology.</p>

<p style="font: 10pt Times New 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 initial diagnostic test designed for use on this
platform, an at-home and point-of-care COVID-19 PCR test, was ultimately facilitated by our development of a saliva or nasal swab-based
PCR test that does not require RNA/DNA extraction. The final result is believed to be approximately equivalent to those processed by a
high-complexity clinical laboratory. Our COVID-19 PCR platform test has the advantages of increased speed and ease of handling thanks
to lyophilization (or freeze-drying) of our testing reagents to allow for stability at room temperatures. In December 2023, we submitted
our proprietary Co-Dx PCR COVID-19 test cups with the Co-Dx PCR Pro instrument and mobile application, all designed for use in point-of-care
and at-home settings, for review by the U.S. Food and Drug Administration (FDA) for Emergency Use Authorization (EUA). We are also preparing
a 510K for submission to the FDA should the FDA decline to grant our emergency use authorization request.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We expect to develop further diagnostic tests for
use with the PCR Pro instrument, including a multiplex test for influenza, RSV and COVID-19. To that effect, we were awarded $1.2 million
in funding from the National Institutes of Health (NIH) as part of the Rapid Acceleration of Diagnostics (RADx&#174;) Tech program for
completion of our upper respiratory panel diagnostic test for use on the Company&#8217;s Co-Dx PCR platform. We will utilize the funds from
the RADx Tech award to complete development of our flu A/B, COVID-19, and RSV multiplex test, preparatory for that test to begin clinical
trials on the Co-Dx PCR Pro instrument. The NIH launched the RADx initiative on April 29, 2020, with the goal of speeding innovation in
the development, commercialization, and implementation of technologies for COVID-19 testing, leveraging the existing NIH Point-of-Care
Technology Research Network. The RADx Tech program is managed by the National Institute of Biomedical Imaging and Bioengineering (NIBIB),
to support the accelerated development of tests and provide regulatory guidance during the COVID-19 pandemic and beyond.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are also developing diagnostics tests for TB and HPV for use with our Co-Dx PCR platform. We have been awarded two grants in the amounts
of $10.23 million and $987,000 by the Bill &amp; Melinda Gates Foundation to support the development and manufacture of TB and HPV tests
for our Co-Dx PCR platform. In 2014, all United Nations Member States and the World Health Organization (WHO) committed to ending the
global TB epidemic by 2030, before the COVID-19 pandemic slowed, stalled or reversed progress of global TB targets. The WHO estimates
that roughly 4.2 million cases of TB went unidentified in 2021 worldwide, representing nearly 40% of actual cases, highlighting the need
for a dramatic increase of affordable, high-quality, point-of-care TB diagnostics to enable rapid treatment decisions to be made for
a disease that has a mortality rate of about 50% if left untreated. The National Cancer Institute estimates that high-risk HPVs cause
roughly 5% of all cancers worldwide, with the rate among women being nearly 10 times higher than that for men and leading to an estimated
264,000 cervical cancer deaths each year according to the WHO. More than 85% of these deaths are in low- and middle-income countries,
and all of which the WHO believes can be dramatically reduced by access to diagnostics, vaccinations, and cancer screenings.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Infectious
Disease Product Offering</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Using
our proprietary test design system and proprietary reagents, we and CoSara Diagnostics Pvt Ltd (&#8220;CoSara&#8221;), our joint venture
for manufacturing in India, design and sell PCR diagnostic tests for detection of diseases and pathogens such as COVID-19, influenza,
tuberculosis, hepatitis B and C, malaria, dengue, human papillomavirus, chikungunya, and Zika virus, all of which tests have been designed
and verified in our laboratories. Our tuberculosis test and Zika test received a CE Mark in 2018, and a triplex test for Zika, dengue
and chikungunya received a CE Mark in 2019, qualifying the tests to be sold throughout the European community and in most countries in
Central and South America. In December 2019, CoSara received a license to manufacture and sell tuberculosis, hepatitis B, hepatitis C,
human papillomavirus 16/18 and malaria tests in India from the Central Drugs Standard Control Organization (&#8220;CDSCO&#8221;). In
February 2020, we received a CE Mark for our Logix Smart COVID-19 test followed by an EUA by the FDA in April 2020. Also, in April 2020,
our COVID-19 test was approved for manufacture and sale in India by the CDSCO and in Mexico by the INDRE, Mexico&#8217;s equivalent to
the United States Center for Disease Control. In August 2020, we received approval from the Australian Department of Health Therapeutic
Goods Division to sell our COVID-19 test in Australia.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
explained above, our Logix Smart COVID-19 test was designed, developed, submitted for regulatory approval and ready to be used as an
<i>in vitro</i> diagnostic or IVD in countries that accept a CE Mark as approval for use of the test in a period of just over 30 days.
This is a real-world example of how the CODX technology can be used in an evolving epidemic or pandemic to get diagnostic tools in the
hands of medical professionals in a timely manner. It can be similarly used to design a test for mutated strains of the virus should
they not be detectable using currently available tests.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Caribbean
and Central and South America</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
began selling PCR diagnostic tests to entities located in South and Central America and the Caribbean in 2018. In some of those countries,
there are limited regulatory hurdles, allowing us to begin offering our tests immediately. We have applied for and received registrations
for our tests in many of those countries that require registration, and our distributors in those countries have provided us with in-country
assistance in completing such registrations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
first offered our Zika test in this region because of the demand for such a test, followed by tests for tuberculosis, and our triplex
test for Zika, chikungunya, and dengue. Sales of those tests have not been material, but with the granting of a CE mark for our Logix
Smart COVID-19, we experienced an increase in sales in this region.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2017, the Company entered into an agreement to manufacture diagnostics tests for seven infectious diseases with a pharmaceutical
manufacturing company in India and formed CoSara as an Indian joint venture. The agreement provided for the construction of a manufacturing
plant and the manufacture of the tests named above and the joint sales and marketing of those tests in India. We have received a license
for the plant in Ranoli, India to manufacture approved tests and it is being used for testing and manufacturing of our products for the
Indian market.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
mentioned above, the CDSCO has given us the approval for manufacture and sale of the 15 tests referred to above, and the Company&#8217;s
joint venture manufactures and sells those tests. The Company manages a reagent rental program in India with thermocyclers purchased
from third-party vendors and which we refer to as our MDx Device. The placement of thermocyclers in India has facilitated the sale of
the SaraGene PCR tests in India. The WHO 2022 Global Tuberculosis Report indicates that India is the country with the highest number
of cases of tuberculosis in the world. WHO tuberculosis statistics for India for 2022 give an estimated incidence figure of 2.82 million
cases of tuberculosis for India out of a global incidence of approximately 10.0 million.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 19, 2020, we announced that CoSara received authorization to manufacture and sell COVID-19 tests in India. Those tests in India
are branded as SaraGene COVID-19 tests and are sold exclusively by CoSara. The Indian government places restrictions on the price that
could be charged for COVID-19 tests which limited the revenue in India more than we experienced in other parts of the world. At the time
of this report, CoSara has received CDSCO clearance for RT-PCR tests for Mycobacterium tuberculosis, malaria, hepatitis B, hepatitis
C (including viral load tests for both hepatitis B and C), human papillomavirus (HPV), a test for high-risk HPV, two COVID-19 assays,
chikungunya, dengue, a dengue/chikungunya duplex test, an influenza A/influenza B/COVID-19 (&#8220;ABC&#8221;) multiplex test, and in
2024 CDSCO cleared the manufacture and sell SARAPLEX&#8482; Influenza Multiplex (IFM) Test Kit to clinical laboratories as an in vitro
diagnostic for the detection and differentiation of Influenza A and Influenza B.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Molecular
diagnostics, such as our tests, are governed in Europe by the framework for IVDs, which encompasses diagnostic products such as reagents,
instruments and systems intended for use in diagnosis of disease. The regulatory system for some IVDs has historically allowed for a
self-certification procedure, placing heavy responsibility on manufacturers. Non self-certified products were subject to the same standards
as self-certified products but were also subject to audit and review by a notified body prior to receiving approval to be CE-marked.
A CE-marking is a manufacturer&#8217;s declaration that a product meets the requirements of the applicable European Commission directive.
Examples of current obligations include having in place a qualitative manufacturing process, user instructions that are clear and fit
for purpose, and ensuring that the &#8216;physical&#8217; features of devices and diagnostics do not pose any danger. If a product fulfils
these and other related control requirements, it may be CE-marked, as an indication that the product is compliant with EU legislation
and sold in the European Union. We have received CE Marks for six of our tests including for COVID-19, COVID-19 (2 gene test), ABC (a
triplex test for Flu A, Flu B and COVID-19), a DS (Direct Saliva, extraction-free) COVID-19 test, tuberculosis, Zika, and our Zika, dengue,
chikungunya triplex tests. The European Commission has revised its directive governing the CE- marking of IVDs, which included
reclassifying which IVDs may be self-certified, and which may not. As a result of this change in directive and reclassification, substantially
all of the Company&#8217;s products are now subject to audit and review by a notified body, as well as a more rigorous clinical evaluation
process, prior to receiving approval to be CE-marked.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are ISO 13485:2016 certified, relating to the design and manufacture of our medical device products. The ISO certification indicates
that we meet the standards required to pursue CE-marking for certain of our products and affix a CE-marking for sales of our products
in countries accepting CE-marking (not in the United States).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>United
States</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
FDA has granted permission for us to export all of our IVD products. The FDA&#8217;s permission to export was granted under Section 801(e)
of the Federal Food, Drug, and Cosmetic Act, as amended (the &#8220;FDC Act&#8221;). Section 801(e) of the FDA Act covers certain medical
devices that have not yet received an approved Premarket Approval in the United States by the FDA, such as our products. We have not
commenced any Premarket Approval steps with the FDA. Section 801(e) of the FDA Act applies to medical devices that are acceptable to
the importing country and that are manufactured under the FDA&#8217;s Good Manufacturing Practices. We have received EUA for our COVID-19
test, which allows sales to qualified labs in the United States and facilitates the registration for sale in other countries as well.
Under the FDA&#8217;s existing policy, the FDA continues to review a prioritized subset of COVID-19 tests for EUAs, and emphasizes that
traditional device premarket review pathways remain open to all developers. We intend to pursue all appropriate FDA review pathways for
products under development, including traditional premarket review pathways.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
our EUA, we are actively selling our Logix Smart COVID-19 test to CLIA certified laboratories in the United States. The CLIA labs are
able to use our test, or to further validate our COVID-19 tests (or other tests) as Laboratory Developed Tests (LDTs), which refers to
a diagnostic test that has been validated for use in the CLIA lab. LDTs may be used by the lab only in that laboratory. CLIA laboratories
develop the performance characteristics, perform the analytical validation for their LDTs and obtain licenses to offer them as diagnostic
services. We are currently marketing our Logix Smart COVID-19 test to CLIA laboratories throughout the US.</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
market opportunity for our tests changed radically with the emergence of the COVID-19 pandemic. Because we were able to respond rapidly
and produce a quality product, <span style="background-color: white">we have been able to build a worldwide distribution network, most
of which have been the sales network that has allowed us to export products throughout the world.</span> Our network of distributors
that we have built over the past three years will serve us well in sales and distribution of other diagnostic tests and our forthcoming
PCR diagnostic platform.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
molecular diagnostics market is a fast-growing portion of the <i>in vitro</i> (test tube-based, controlled environment) diagnostics market.
There are several advantages of PCR tests, such as the ones we market and sell, over other forms of diagnostic testing. These advantages
include higher specificity and sensitivity, the ability to perform multiplex tests and the ability to test for drug resistance or for
individual genes.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Mosquito
Vector Control Services</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
response to market demand, in June 2019 we introduced our first diagnostics tests to be used exclusively to test for mosquito borne pathogens
in mosquito populations. Municipalities in the US and many other countries in the world are concerned about the diseases carried by mosquitos,
which infect the human population. To prevent outbreaks of potentially harmful viruses such as Zika or West Nile from infecting the public,
many municipalities conduct mitigation operations to eliminate the mosquito populations carrying the diseases. Because it is too expensive
and potentially harmful to the environment to spray all mosquito breeding areas, municipalities identify which particular area has mosquitos
that are carrying the harmful viruses. To know where the host mosquitos with the harmful viruses are located, traps are set, mosquitos
collected and then tested to find the areas that most needed spraying. There are over 3,000 mosquito abatement districts throughout the
United States and almost all of them conduct testing to help make the spraying more effective.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
first vector related test was a triplex test that tests for West Nile, western equine and St. Louis encephalitis. We began shipping the
tests in June 2019. We added a second test that tests mosquitos for Zika, chikungunya and dengue in a triplex test. Finally, in November
2019, we completed a test for West Nile, eastern equine and St. Louis encephalitis, specifically for use in the eastern United States.
As a result, mosquito abatement districts can test for three target viruses in one test as compared to performing three different tests
using other market available tests. Our products allow municipalities to obtain test results in a matter of hours, instead of the weeks
they might otherwise have to wait for a central lab to process the mosquito tests.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have sold our Vector Smart&#8482; test products and/or related lab equipment to testing districts in different sections of the country
and are marketing our products through trade shows, electronic and regular mail solicitations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Liquid
Biopsy for Cancer Screening</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
enhanced specificity of our technology opens up some unique applications for liquid biopsy, demonstrating its ability to detect small
quantities of mutations associated with cancer within an environment of large amounts of normal DNA, as we position the Company to take
part in this historic and challenging development in human health care.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: #FEFEFE"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Agricultural
Applications</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">SNP
detection is also used in the agricultural industry to identify variations in crop genomes to achieve improved seed viability and other
desired characteristics, including drought resistance, disease resistance, pest resistance and higher yield.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
mid-2017, the Company was first approached by a large agribusiness to evaluate our ability to multiplex certain target genomes. The results
of the development project have successfully demonstrated our ability to not only multiplex the target genomes, but targeted SNP&#8217;s
as well. The project was undertaken in conjunction with the manufacturer of our CoPrimers tests. The results of the project encouraged
the parent of our manufacturer to seek a world-wide licensing arrangement for our CoPrimers in the agricultural industry, which was completed
in October 2018. Pursuant to the exclusive license for the agronomics industry, the licensee pays us a royalty for all CoPrimers sold
to the licensee&#8217;s customers. In January 2019, the licensee formally introduced the product at a large agricultural conference and
has branded the product under the name &#8220;BHQ CoPrimers&#8221;.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Additional
Licensing and Assay Development</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe the unique properties of our CoPrimers technology make them ideally suited to a variety of applications where sensitivity is
key to optimal results, including multiplexing several targets, enhanced SNP detection and enrichment for next generation sequencing.
Our licensee for our agricultural testing requested an expansion of our license agreement to include test design services for their customers
and potential customers, both in the infectious disease arena as well as for agricultural customers. The license was amended in July
2019 and we expect to derive a license fee from our licensee for its design services. If any of its customers desire to commercialize
the tests designed, they will need to seek a commercial license directly from us. Thanks to these unique characteristics of CoPrimers,
research companies and institutions have requested that we design diagnostics to locate and identify uncommon gene sequences and SNPs
and create tests for the target sequences in a multiplexed reaction. This application of our technology is in its beginning stages, but
we believe that the results from our initial research indicate a significant step forward in defining the capabilities of our technology,
which we believe can be translated to revenue producing licensing arrangements. However, there can be no guarantee that we will be able
to develop the requested capabilities, or that we will be able to successfully commercialize this application of our technology.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Competitive
Advantages of Co-Diagnostics</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>We
believe that we have the following competitive advantages:</b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Affordability:
    </i></b>Lower-cost test kits, a low-cost MDx-device, and an affordable Co-Dx PCR platform for at-home and point-of-care testing (the
    platform is subject to FDA review and not available for sale at the time of this filing).</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Flexibility:
    </i></b>CODX&#8217;s tests have been designed to run on many customers&#8217; DNA/RNA diagnostic testing machines. Our technology
    is well suited to the new generation of point-of-care testing (&#8220;POCT&#8221;), compact and portable analysis machinery for field,
    clinical and office applications.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Speed</i>:
    </b>We believe our rapid assay design system software provides shorter time to product release. This has been demonstrated with the
    conception, design, product manufacture, clinical verification and submission for a CE Mark for our Logix Smart COVID-19 test being
    approximately 30 days.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Accuracy</i></b>:
    We believe our technology allows us to build tests that are highly sensitive and specific, the two benchmarks for accuracy in PCR
    testing.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Personalized
    Medicine</i>: </b>We project that rising health care costs in developed and developing nations will increasingly require that health
    care systems be patient-specific to eliminate waste, misdiagnoses, and ineffectiveness. A critical component will be accurate, more
    affordable DNA-based diagnostics, especially in at-home and POCT settings, for which we are developing products.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Low-cost
    Provider</i>: </b>Our platform technology obviates the need to pay patent royalties typically required of our competitors, which
    use third-party patented test platforms to design their tests.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Worldwide
    Footprint</i>: </b>With a dynamic technology that encompasses markets worldwide, we anticipate that we can identify the best target
    markets, not only in high burden developing countries but also in developed nations.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><b><i>Data Collection</i>:</b> With the anticipated deployment
    of the Co-Dx PCR platform we expect to play a role in centralizing global data collection on infectious diseases that may contribute
    to faster vaccination and therapeutic responses from health authorities.</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Growth
    Industry Category</i>: </b>We believe that real-time PCR testing is the fastest-growing segment of <i>in vitro</i> diagnostic testing.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Combination
    Product Offering</i>: </b>Our sensitive tests can be a well-designed match for a new generation of compact and other small POCT devices
    now entering the market, including our own MDx and Co-Dx PCR Pro instruments. Used together, we believe these affordable tests and
    devices have the potential to revolutionize the molecular diagnostics industry in cost, speed of test results and simplification.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Multiplexing:
    </i></b>Our existing multiplexed tests demonstrate that our CoPrimer-designed tests are able to test for multiple targets in the
    same sample without the distortion caused by false negatives and false positives that often occur in multiplexed tests.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Much
of our future success and value depends on our proprietary technology, and therefore, our patent and intellectual property strategy is
of critical importance. Currently, our flagship CoPrimers technology is covered by two U.S. patents titled &#8220;Cooperative primers,
probes, and applications thereof&#8221; as well as by granted and pending foreign counterparts. We have another three U.S. patents directed
to our earlier work in primer and assay designs. For more recent works, we have filed international and U.S. patent applications directed
to &#8220;Methods and Compositions for Next Generation Sequencing (NGS) Library Preparation,&#8221; &#8220;Allele-Specific Design of
Cooperative Primers for Improved Nucleic Acid Variant Genotyping,&#8221; &#8220;Methods and Compositions Related to Cooperative Primers
and Reverse Transcription,&#8221; and &#8220;Systems, Methods, and Apparatus for Automated Self-Contained Biological Analysis&#8221;
which is the basis of our at-home and point-of-care PCR system. We intend to continue building our patent portfolio as development continues
and resources are available.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">We
also protect some of our technology and know-how as trade secrets and, where appropriate, we use and register trademarks to protect and
strengthen our products and proprietary brands. All trademarks, trade/product names, graphics and logos of Co-Diagnostics contained herein
are trademarks of Co-Diagnostics or its subsidiary, as applicable, in the U.S. and/or other countries. Solely for convenience, we may
refer to trademarks in this Annual Report on Form 10-K without the &#8482; or &#174; symbols, but such references are not intended to
indicate, in any way, that we will not assert, to the fullest extent permitted by law, our rights to our trademarks.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which were each responsible for generating 10% or more of the total revenue for the years ended December
31, 2023 and 2022, respectively. Two customers accounted for approximately 28% of product revenue for the year ended December 31, 2023
and one customer accounted for approximately 37% of product revenue for the year ended December 31, 2022. One granting agency accounted
for 100% of grant revenue for the year ended December 31, 2023. These customers and granting agencies may not account for the same percentage
of product revenue or grant revenue in future periods. </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
we were to sell nothing to those customers in the future, it would have a material adverse effect on our financial condition unless we
were able to replace those customers with others.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
molecular diagnostics industry is extremely competitive. There are many firms that provide some or all of the products we provide and
provide many diagnostic tests that we have yet to develop. Many of these competitors are larger than us and have significantly greater
financial resources. Because we are more recently established, many of our competitors have a competitive advantage in the diagnostic
testing industry because they also have other lines of business in the pharmaceutical industry from which they derive revenues and for
which they are well known and respected in the medical profession. We will need to overcome the disadvantage of being perceived as a
start up with no significant recognition from the medical and testing professionals, although we believe this is changing as we continue
to market our Logix Smart COVID-19 tests and other tests in the United States to well-known and successful laboratories. Many of these
competitors already have an established customer base with industry standard technology, which we must overcome to be successful. In
the diagnostic testing and POCT industries, we compete with such companies as BioMerieux, Siemens, Qiagen, Cue Health, Lumira Dx and
Cepheid and with such pharmaceutical companies as Abbott Laboratories, Becton Dickinson and Johnson and Johnson. We also compete with
companies from Asia in certain markets who are willing to sell their tests for much less than we sell our tests, which creates competitive
price pressure on us in certain regions, particularly Asia and Latin America.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
expect competition to continue to increase as other established and emerging companies enter the market, as customer requirements evolve,
and as new products, services and technologies are introduced. Some of our existing or new competitors may have strong
relationships with current and potential customers, including governmental authorities, and, as a result, may be able to respond more
quickly to new or changing regulatory requirements, new or emerging technologies, and changes in customer requirements.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the United States, we are regulated by the FDA and our products must be approved, cleared, or authorized by the FDA before we are allowed
to sell our tests in the United States as <i>in vitro</i> diagnostics. The FDA granted us an EUA to manufacture and sell our Logix Smart
COVID-19 test to CLIA labs in the United States. We are ISO 13485:2016 certified, relating to the design and manufacture of our medical
device products. Being ISO certified greatly facilitates our applications for CE-Marking, which allows us to sell any CE Marked test
in most countries in Europe, South America and Asia, depending on the country and following that country&#8217;s registration process.
We currently have CE Markings issued for our Logix Smart COVID-19 test, tuberculosis test, our Zika virus test, a triplex test that tests
for Zika, dengue, and chikungunya simultaneously, a triplex &#8220;ABC&#8221; test that identifies and distinguishes between Flu A, Flu
B and Covid-19, our SARS-CoV-2 2-gene multiplex test, and our DS (Direct Saliva, extraction-free) COVID-19 test. In addition, our Logix
Smart COVID-19 has received the required license to manufacture and sell in India from India&#8217;s CDSCO, and The National Epidemiology
Institute in Mexico evaluated our Logix Smart COVID-19 and ABC tests and approved them for sale in Mexico. We have also received approval
to sell in Australia. </span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, we had 155 full-time and part-time employees at our executive offices and lab facilities in Salt Lake City, Utah.
We have engaged independent contractors to promote the use of our products and develop outlets for products and employ the services of
independent sales representatives on an &#8220;as needed&#8221; basis.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
consider our people and the way we work to support each other and serve our customers to be critical to our success. The key human capital
measures and objectives that we focus on in managing our business are: maintaining a strong and collaborative company culture, increasing
our diversity, inclusion and belonging, offering fair and competitive compensation and benefits, investing in people and organizational
development, protecting and enriching employee health and wellness, and sustaining a culture of respectful and effective communications.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Organizational
History and Corporate Information</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
were incorporated as Co-Diagnostics, Inc., in Utah on April 18, 2013. Our principal executive office is located at 2401 S. Foothill Drive,
Salt Lake City, Utah 84109. Our telephone number is (801) 438-1036. Our web address is <span style="text-decoration: underline">www.codiagnostics.com</span>. The contents of
our website are not incorporated by reference in this Annual Report.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_003"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
1A. RISK FACTORS</b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
have limited commercial history upon which to base our prospects and are not certain that we will achieve profitability in the future.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have a limited operating history. We began operations in April 2013. Our accumulated retained earnings were $4.6 million and $39.9 million
as of December 31, 2023 and 2022, respectively. During the calendar years ending December 31, 2023 and 2022 we experienced a decline
in demand for our Logix Smart COVID-19 and other COVID-19 tests and operated at a net loss during the periods. We do not have any way
of predicting when or if we will achieve profitability again. Potential investors should be aware of the difficulties normally encountered
by a new enterprise, many of which are beyond our control, including substantial risks and expenses in the course of developing new diagnostic
tests, establishing or entering new markets, organizing operations and marketing procedures. The likelihood of our success must be considered
in light of these risks, expenses, complications and delays, and the competitive environment in which we operate. There is, therefore,
nothing at this time upon which to base an assumption that our business plan will prove successful, and we may not be able to generate
significant revenue, raise additional capital or operate profitably. We will continue to encounter risks and difficulties frequently
experienced by early commercial stage companies, including scaling up our infrastructure and headcount, and may encounter unforeseen
expenses, difficulties or delays in connection with our growth. In addition, as a result of the start-up nature of our business, we expect
to continue to sustain substantial operating expenses and may not be able to continue generating sufficient revenues to cover expenditures.
Any investment in our company is therefore highly speculative and could result in the loss of any investment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
future success is dependent on our development of our Co-Dx PCR platform and securing regulatory approval for the platform including
the PCR Pro instrument and related diagnostic tests, demand for infectious disease diagnostics and upon our ability to develop and market
other commercially accepted diagnostic tests for our PCR platform.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
future success will depend, in part, on our development of our Co-Dx PCR platform and securing regulatory approval for the platform including
the PCR Pro instrument and related diagnostic tests, our ability to develop and sell sufficient quantities of other diagnostics tests,
and our ability to successfully and profitably market our Co-Dx PCR platform. Attracting new customers and distribution networks requires
substantial time and expense. Any failure to obtain regulatory approval for our product candidates and to increase sales of our diagnostic
tests in sufficient quantities to achieve profitability in a timely manner would adversely affect our operating results. Many factors
could affect the market acceptance and commercial success of any of our diagnostic tests and devices, including:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
    ability to develop additional infectious disease diagnostic tests for which there is a commercial market;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
    ability to obtain regulatory clearance to commercialize our product candidates; </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to convince our potential customers of the advantages and economic value of our tests over competing technologies and diagnostic
    tests;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    breadth of our test menu relative to competitors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    to policies, procedures or currently accepted best practices in clinical diagnostic testing;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    extent and success of our marketing and sales efforts; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to manufacture in quantity our commercial diagnostic tests and meet demand in a timely fashion.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>The
diagnostic market is highly competitive, and we may not be able to compete effectively against the larger, well-established companies
that dominate this market or emerging and small innovative companies that may seek to obtain or increase their share of the market.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
markets for diagnostic products are intensely competitive, and many of our competitors are much larger and have substantially more financial
and human resources than we do. Many have long histories and strong reputations within the industry, and a relatively small number of
companies dominate these markets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
companies enjoy significant competitive advantages over us, including:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">broad
    product offerings, which address the needs of health care providers in a wide range of applications;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">products
    that are supported by long-term clinical data;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">greater
    experience in, and resources for, launching, marketing, distributing and selling products, including strong sales forces and established
    distribution networks;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">extensive
    intellectual property portfolios and greater resources for patent protection;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">greater
    financial and other resources for product research and development;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">greater
    experience in obtaining and maintaining FDA and other regulatory clearances and approvals for products and product enhancements;</span></td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">established
    manufacturing operations and contract manufacturing relationships;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">significantly
    greater name recognition and widely recognized trademarks; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">established
    relationships with healthcare providers and payers.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
products and any product candidates that we may introduce into the market may not enable us to overcome the competitive advantages of
these large and dominant companies. In addition, even if we successfully introduce additional product candidates into the market, emerging
and small innovative companies may seek to increase their market share and they may eventually possess competitive advantages, which
could adversely impact our business. Our competitors may also employ pricing strategies that could adversely affect the pricing of our
products.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
depend on a limited number of third-party suppliers for key raw materials used in the manufacturing of our products, and the loss of
these third-party suppliers or their inability to supply us with adequate raw materials could harm our business.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
rely on a limited number of third-party suppliers for the raw materials required for the production of our diagnostic products and product
candidates. Our dependence on a limited number of third-party suppliers involves several risks, including limited control over pricing,
availability, quality, and delivery schedules for raw materials. We have no supply agreements in place with any of our suppliers and
cannot be certain that our current suppliers will continue to provide us with the quantities of raw materials that we require or that
satisfy our anticipated specifications and quality requirements. Any supply interruption in limited or single sourced raw materials could
materially harm our ability to manufacture our products until a new source of supply, if any, could be identified and qualified. We may
be unable to find a sufficient alternative supply channel within a reasonable time or on commercially reasonable terms. Any performance
failure on the part of our suppliers could delay the production of our products and product candidates and delay the development and
commercialization of our product candidates, including limiting supplies necessary for commercial sale, clinical trials and regulatory
approvals, which could have a material adverse effect on our business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>In
order to be successful, we must expand our available product lines by commercializing new product candidates, but we may not be able
to do so in a timely fashion and at expected costs, or at all.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Although
we are currently manufacturing diagnostic kits for commercialization, in order to be successful, we will need to expand our product lines
to include other diagnostic products. To succeed in our commercialization efforts, we must effectively continue product development and
testing, find new strategic partners, obtain regulatory clearances and approvals, and enhance our sales and marketing capabilities. Because
of these uncertainties, there is no assurance that we will succeed in bringing any of our current or future product candidates to market.
If we fail in bringing our product candidates to market, or experience delays in doing so, we will not generate revenues as planned and
will need to curtail operations or seek additional financing earlier than otherwise anticipated.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are dependent on our senior management team, scientific team, and external advisors, and the loss of any of them could harm our business,
including by adversely affecting our ability to effectuate our business strategy.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
members of our current senior management team may not be able to successfully implement our strategy. In addition, we have not entered
into employment agreements with any of the members of our senior management team. There are no assurances that the services of any of
these individuals will be available to us for any specified period of time. The successful integration of our senior management team,
the loss of members of our senior management team, scientific team and key external advisors, or our inability to attract or retain other
qualified personnel or advisors could have a material adverse effect on our business, financial condition and results of operations.
We may not have a sufficient number of qualified personnel to effectuate our business strategy, which could have a material adverse effect
on our business, financial condition and results of operations.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>If
we experience significant disruptions in our information technology systems, our business, results of operations and financial condition
could be adversely affected.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
efficient operation of our business depends on our information technology systems. We rely on our information technology systems to effectively
manage our sales and marketing, accounting and financial functions; manufacturing processes; inventory; scientific and product development
functions; and our research and development functions. As such, our information technology systems are vulnerable to damage or interruption
including from earthquakes, fires, floods and other natural disasters; terrorist attacks and attacks by computer viruses or hackers;
power losses; and computer systems, or Internet, telecommunications or data network failures. The failure of our information technology
systems to perform as we anticipate or our failure to effectively implement new systems could disrupt our entire operation and could
result in decreased sales, increased overhead costs, excess inventory and product shortages, all of which could have a material adverse
effect on our reputation, business, results of operations and financial condition.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Cybersecurity
risks and the failure to maintain the integrity of company, employee or customer data could expose us to data loss, litigation and liability,
and our reputation could be significantly harmed.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
and third-party service providers collect and retain large volumes of data, including personally identifiable information regarding clinical
trial participants and others, for business purposes, including for regulatory, research and development and commercialization purposes,
and our collaborators&#8217; various information technology systems enter, process, summarize and report such data. We also maintain
personally identifiable information about our employees. The integrity and protection of our company, employee and clinical data is critical
to our business. We are subject to significant data security and privacy laws and regulations. These regulations impose significant requirements
on how we maintain, use, and protect such information. Maintaining compliance with these evolving regulations and requirements could
be difficult and may increase our expenses. In addition, a penetrated or compromised data system or the intentional, inadvertent or negligent
release or disclosure of data could result in theft, loss or fraudulent or unlawful use of company, employee or clinical data which could
harm our reputation, disrupt our operations, or result in remedial and other costs, fines or lawsuits.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Risks
Related to Regulatory Approval of Our Products and Other Government Regulations</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
received Emergency Use Authorization or EUA for our COVID-19 test in US. We applied for Emergency Use Authorization for our PCR platform
which included the PCR Pro instrument and the COVID 19 diagnostic test cup and mobile app. The FDA may not timely grant the EUA we filed
for the PCR platform or may require that we submit a 510K application rather than EUA. For our existing EUA and any new EUA, the FDA
may revoke any EUA where it is determined that the underlying health emergency no longer exists or warrants such authorization, which
would adversely impact our ability to market our COVID-19 test in the United States.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
FDA has the authority to grant an EUA to allow unapproved medical products to be used in an emergency to diagnose, treat or prevent serious
or life-threatening diseases or conditions when there are no adequate, approved and available alternatives. During the COVID 19 pandemic
the FDA determined that circumstances exist to justify the authorization of emergency use of medical devices, including alternative products
used as medical devices, during the COVID-19 pandemic. On April 3, 2020, we received an EUA from the FDA for our Logix Smart Coronavirus
Disease 2019 (COVID-19) kit for use on individuals who are suspected of COVID-19 by their healthcare provider. <span style="background-color: white">We
cannot predict how long the EUA for our COVID-19 test will remain in place.</span> The FDA may revoke an EUA where it is determined that
the underlying health emergency no longer exists or warrants such authorization. The FDA may take such a position at any time and without
notice and, therefore, we cannot predict how long our EUAs will remain in place. The FDA may also revoke an EUA when the circumstances
justifying its issuance no longer exist, such as when an alternative is authorized for marketing through the standard procedures, including
through a 510(k) clearance.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
applied for Emergency Use Authorization for our PCR platform which included the PCR Pro instrument and the COVID 19 diagnostic test cup
and mobile app. The FDA may not timely grant the EUA we filed for the PCR platform or may require that we submit a 510K application rather
than EUA which could extend the time for authorization to begin commercializing the PCR platform. There can be no assurances that the
FDA will authorize any request for additional and/or amended EUAs and if we do not receive the authorization, our business, financial
condition, results of operations and future growth prospects could be materially and adversely affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
either of our existing EUAs is revoked or our existing EUA applications are denied prior to us having received regulatory approval to
commercialize our COVID-19 test through a traditional pathway, we may not be able to obtain required clearances or approvals in a timely
manner, or at all, and one or more of our competitors may obtain the necessary clearances or approvals for their products before we do.
In addition, we would be required to cease our commercialization efforts, which would substantially and negatively impact our business.
As a result, any such revocation could adversely impact our business, financial condition and results of operations.</span></p>



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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 20pt; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
long-term success depends substantially on our ability to obtain regulatory clearance or approval and thereafter commercialize our product
candidates; we cannot be certain that we will be able to do so in a timely manner or at all.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
process of obtaining regulatory clearances or approvals to market a medical diagnostic from the FDA or similar regulatory authorities
outside of the United States can be costly and time consuming, and there can be no assurance that such clearances or approvals will be
granted on a timely basis, or at all. The FDA&#8217;s 510(k) clearance process generally takes one to six months from the date of submission,
depending on whether a special or traditional 510(k) premarket notification has been submitted, but can take significantly longer. An
application for premarket approval, or PMA, must be submitted to the FDA if the device cannot be cleared through the 510(k) clearance
process or is not exempt from premarket review by the FDA. The PMA process almost always requires one or more clinical trials and can
take two to three years from the date of filing, or even longer.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
we are required to obtain approval of any of our products through the PMA process, the costs associated with such a process will be significant,
which could adversely affect our financial performance and results of operations. In addition, a submission through the PMA process would
require us to delay commercialization of such product candidates until after approval is received, if ever. If we are unable to commercialize
our product candidates in a timely manner, or at all, our business will be adversely affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Similar
to our compliance with U.S. regulatory requirements, we must obtain and comply with international requirements, in order to market and
sell our products outside of the United States and we may only promote and market our products, if approved, as permitted by applicable
regulatory authorities. There is no guarantee that we will receive the necessary regulatory approvals for our product candidates either
inside the United States or internationally. If our product candidates do not receive necessary regulatory approvals, our business could
be materially and adversely affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
current and future relationships with third-party payers and current and potential customers in the United States and elsewhere may be
subject, directly or indirectly, to applicable anti-kickback, fraud and abuse, false claims, transparency, health information privacy
and security and other healthcare laws and regulations, which could expose us to criminal sanctions, civil penalties, contractual damages,
reputational harm administrative burdens and diminished profits and future earnings.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
current and future arrangements with third-party payers and current and potential customers, including providers and physicians, may
expose us to broadly applicable fraud and abuse and other healthcare laws and regulations, including, without limitation, the federal
Anti-Kickback Statute and the federal False Claims Act, which may constrain the business or financial arrangements and relationships
through which we sell, market and distribute our products. In addition, we may be subject to transparency laws and patient privacy regulations
by U.S. federal and state governments and by governments in foreign jurisdictions in which we conduct our business. The applicable federal,
state and foreign healthcare laws and regulations that may affect our ability to operate include:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    federal Anti-Kickback Statute, which prohibits, among other things, persons from knowingly and willfully soliciting, offering, receiving
    or providing remuneration, directly or indirectly, in cash or in kind, to induce or reward, or in return for, either the referral
    of an individual for, or the purchase, order or recommendation of, any good or service, for which payment may be made under federal
    healthcare programs, such as Medicare and Medicaid;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">federal
    civil and criminal false claims laws and civil monetary penalty laws, including the federal False Claims Act, which impose criminal
    and civil penalties, including civil whistleblower or qui tam actions, against individuals or entities for knowingly presenting,
    or causing to be presented, to the federal government, including the Medicare and Medicaid programs, claims for payment that are
    false or fraudulent or making a false statement to avoid, decrease or conceal an obligation to pay money to the federal government;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    federal Health Insurance Portability and Accountability Act of 1996, or HIPAA, which imposes criminal and civil liability for executing
    a scheme to defraud any healthcare benefit program or making false statements relating to healthcare matters;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">HIPAA,
    as amended by the Health Information Technology for Economic and Clinical Health Act of 2009, or HITECH, and their respective implementing
    regulations, which impose obligations on covered healthcare providers, health plans, and healthcare clearinghouses, as well as their
    business associates that create, receive, maintain or transmit individually identifiable health information for or on behalf of a
    covered entity, with respect to safeguarding the privacy, security and transmission of individually identifiable health information;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    Physician Payments Sunshine Act, which requires (i) manufacturers of drugs, devices, biologics and medical supplies for which payment
    is available under Medicare, Medicaid or the Children&#8217;s Health Insurance Program, with specific exceptions, to report annually
    to CMS information related to certain &#8220;payments or other transfers of value&#8221; made to physicians, which is defined to
    include doctors, dentists, optometrists, podiatrists and chiropractors, and teaching hospitals, (ii) applicable manufacturers and
    applicable group purchasing organizations to report annually to CMS ownership and investment interests held in such entities by physicians
    and their immediate family members, with data collection beginning on August 1, 2013, (iii) manufacturers to submit reports to CMS
    by the 90<sup>th</sup> day of each calendar year, and (iv) disclosure of such information by CMS on a publicly available website;
    and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">analogous
    state and foreign laws and regulations, such as state anti-kickback and false claims laws, which may apply to sales or marketing
    arrangements and claims involving healthcare items or services reimbursed by non-governmental third-party payers, including private
    insurers; state and foreign laws that require medical device companies to comply with the medical device industry&#8217;s voluntary
    compliance guidelines and the relevant compliance guidance promulgated by the federal government or otherwise restrict payments that
    may be made to healthcare providers; state and foreign laws that require medical device manufacturers to report information related
    to payments and other transfers of value to physicians and other healthcare providers or marketing expenditures; and state and foreign
    laws governing the privacy and security of health information in certain circumstances, many of which differ from each other in significant
    ways and often are not preempted by HIPAA, thus complicating compliance efforts. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Efforts
to ensure that our business arrangements with third parties will comply with applicable healthcare laws and regulations may involve substantial
costs. It is possible that governmental authorities will conclude that our business practices may not comply with current or future statutes,
regulations or case law involving applicable fraud and abuse or other healthcare laws and regulations. If our operations are found to
be in violation of any of these laws or any other governmental regulations that may apply to us, we may be subject to significant civil,
criminal and administrative penalties, including, without limitation, damages, fines, imprisonment, exclusion from participation in government
healthcare programs, such as Medicare and Medicaid, and the curtailment or restructuring of our operations, which could have a material
adverse effect on our business. If any of the physicians or other healthcare providers or entities with whom we expect to do business,
including our collaborators, are found not to be in compliance with applicable laws, they may be subject to criminal, civil or administrative
sanctions, including exclusions from participation in government healthcare programs, which could also materially affect our business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are subject to stringent and changing data protection laws, privacy policies and data protection obligations, which continue to evolve
and change over time. The actual or perceived failure by us or our third-party service providers or vendors to comply with such obligations
could harm our reputation, subject us to significant fines and liability, or otherwise adversely affect our business.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are subject to numerous data protection laws that govern the processing of individually identifiable information and health information
and other sensitive and personal information in the jurisdictions in which we operate. In many instances, these data protection laws,
regulations and standards apply not only to disclosures to third parties, but also to transfers of information between or among us and
other parties with which we have commercial relationships. The regulatory framework for data privacy, data security and data transfers
worldwide is rapidly evolving and, as a result, interpretation and implementation standards and enforcement practices are likely to remain
uncertain for the foreseeable future. These data protection laws may be interpreted and applied differently over time and from jurisdiction
to jurisdiction, and it is possible that they will be interpreted and applied in ways that will materially and adversely affect our business,
financial condition and results of operations. Failure to comply with any of these data protection laws could result in enforcement actions
against us, including fines, imprisonment of company officials and public censure, claims for damages by affected individuals, damage
to our reputation and loss of goodwill, any of which could have a material adverse effect on our business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
are numerous U.S. federal and state laws and regulations related to the privacy and security of personal information. These laws and
regulations include the Health Insurance Portability and Accountability Act of 1996, or HIPAA, as amended by the Health Information Technology
for Economic and Clinical Health Act of 2009, or HITECH, and their implementing regulations, or collectively referred to as the HIPAA
Rules, which establish a set of national privacy and security standards to safeguard Protected Health Information, or PHI, by health
plans, healthcare clearinghouses and certain healthcare providers, referred to as covered entities, and the business associates and their
subcontractors with whom such covered entities contract for services that involve the creation, receipt, maintenance or transmission
of PHI for or on behalf of a covered entity or another business associate. HIPAA requires covered entities and business associates to,
among other things, develop and maintain policies and procedures with respect to PHI that is used or disclosed, including the adoption
of administrative, physical and technical safeguards to protect such information and ensure the confidentiality, integrity and availability
of electronic PHI. As this applies to our business, we are required to maintain security standards for any PHI that we create, receive,
maintain or transmit. For example, we plan to offer cloud-based portal software to help our customers more efficiently use our products.
The software will maintain security safeguards that are designed to be consistent with the HIPAA Rules, but we cannot guarantee that
these safeguards will not fail or that they will not be deemed inadequate in the future. In addition, we could be subject to periodic
audits for compliance with the HIPAA Privacy and Security Standards by the U.S. HHS, and our customers. The U.S. HHS Office for Civil
Rights may impose significant penalties on entities subject to HIPAA for a failure to comply with a requirement of the HIPAA Rules. If
we are unable to properly protect the privacy and security of the PHI of our customers, we could be found to have breached our contracts.
Determining whether PHI has been handled in compliance with applicable privacy standards and our contractual obligations can be complex
and we cannot be sure how these regulations will be interpreted, enforced or applied to our operations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, many states in which we operate have laws that protect the privacy and security of sensitive and personal information, including
health-related information. Certain state laws may be more stringent or broader in scope, or offer greater individual rights, with respect
to sensitive and personal information than federal, international or other state laws, and such laws may differ from each other, which
may complicate compliance efforts.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Laws,
regulations and standards in many other jurisdictions also apply broadly to the Processing of personal information, which impose significant
compliance obligations. Complying with these numerous, complex and often changing regulations is expensive and difficult, and failure
to comply with any Data Protection Laws or any security incident or breach involving the misappropriation, loss or other unauthorized
use or disclosure of sensitive or confidential information, whether by us, one of our service providers or another third party, could
negatively affect our business, financial condition and results of operations, including but not limited to: investigation costs, material
fines and penalties; compensatory, special, punitive and statutory damages; litigation; consent orders regarding our privacy and security
practices; requirements that we provide notices, credit monitoring services or credit restoration services or other relevant services
to impacted individuals; adverse actions against our licenses to do business; and injunctive relief.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Many
statutory requirements, both in the United States and abroad, include obligations for companies to notify individuals of security breaches
involving certain personal information, which could result from breaches experienced by us or our third-party service providers. For
example, laws in all 50 U.S. states and the District of Columbia require businesses to provide notice to consumers whose unencrypted
personal information has been disclosed as a result of a data breach. These laws are not consistent, and compliance in the event of a
widespread data breach is difficult and may be costly. Moreover, states have been frequently amending existing laws, requiring attention
to changing regulatory requirements. We also may be contractually required to notify affected customers, regulators, credit reporting
agencies or other affected individuals of a security breach. Such notifications are costly, and the disclosures or the failure to comply
with such requirements, could lead to material adverse effects, including without limitation, negative publicity, a loss of customer
confidence in our services or security measures or breach of contract claims. There can be no assurance that the limitations of liability
in our contracts would be enforceable or adequate or would otherwise protect us from liabilities or damages if we fail to comply with
applicable Data Protection Laws, Data Protection Obligations or other legal obligations. In addition, although we may have contractual
protections with our third-party service providers, contractors and consultants, any actual or perceived security breach by our subcontractors
could harm our reputation and brand, expose us to potential liability or require us to expend significant resources on data security
and in responding to any such actual or perceived breach. Any contractual protections we may have from our third-party service providers,
contractors or consultants may not be sufficient to adequately protect us from any such liabilities and losses, and we may be unable
to enforce any such contractual protections.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
expect that there will continue to be new proposed laws and regulations concerning data privacy and security, and we cannot yet determine
the impact such future laws, regulations and standards may have on our business. New laws, amendments to or re-interpretations of existing
laws, regulations, standards and other obligations may require us to incur additional costs and restrict our business operations. Because
the interpretation and application of health-related and Data Protection Laws and other obligations are still uncertain, and often contradictory
and in flux, it is possible that the scope and requirements of these laws may be interpreted and applied in a manner that is inconsistent
with our practices and our efforts to comply with the evolving data protection rules may be unsuccessful. If so, this could result in
government-imposed fines or orders requiring that we change our practices, which could adversely affect our business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
cannot assure you that our third-party partners and service providers with access to our or our customers&#8217;, suppliers&#8217; and
employees&#8217; personally identifiable and other sensitive or confidential information in relation to which we are responsible will
not breach contractual obligations imposed by us or violate Data Protection Laws, or that they will not experience security breaches
or attempts thereof, which could have a corresponding effect on our business, including putting us in breach of our obligations under
the Data Protection Laws, which could in turn adversely affect our business, results of operations and financial condition. We cannot
assure you that our contractual measures and our own privacy- and security-related safeguards will protect us from the risks associated
with the third-party processing, storage and transmission of such information.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
may receive inquiries or be subject to investigations, proceedings or actions, by various government entities regarding our privacy and
information security practices and Processing (&#8220;Regulatory Proceedings&#8221;). These Regulatory Proceedings could result in a
material adverse effect, including without limitation, interruptions of, or required changes to, our business practices, the diversion
resources and the attention of management from our business, regulatory oversights and audits, discontinuance of necessary Processing,
or other remedies that adversely affect our business.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition to the possibility of fines, lawsuits, regulatory investigations, public censure, other claims and penalties, and significant
costs for remediation and damage to our reputation, we could be materially and adversely affected if legislation or regulations are expanded
to require changes in our data processing practices and policies or if governing jurisdictions interpret or implement their legislation
or regulations in ways that negatively impact our business. Complying with these various laws could cause us to incur substantial costs
or require us to change our business practices and compliance procedures in a manner adverse to our business. Any inability to adequately
address data privacy or security-related concerns, even if unfounded, or to comply with applicable laws, regulations, standards and other
obligations relating to data privacy and security, could result in additional cost and liability to us, harm our reputation and brand,
damage our relationships with customers and have a material and adverse impact on our business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">While
we maintain general liability insurance coverage, cyber insurance coverage and other insurance, we cannot assure that such coverage will
be adequate or otherwise protect us from or adequately mitigate liabilities or damages with respect to claims, costs, expenses, litigation,
fines, penalties, business loss, data loss, regulatory actions or material adverse effects arising out of our privacy and security practices,
Processing or security breaches we may experience, or that such coverage will continue to be available on acceptable terms or at all.
The successful assertion of one or more large claims against us that exceeds our available insurance coverage, or results in changes
to our insurance policies (including premium increases or the imposition of large deductible or co-insurance requirements), could have
an adverse effect on our business. In addition, we cannot be sure that our existing insurance coverage will continue to be available
on acceptable terms or that our insurers will not deny coverage as to any future claim.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
may incur substantial costs in our efforts to comply with evolving global data protection laws and regulations, and any failure or perceived
failure by us to comply with such laws and regulations may harm our business and operations.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
global data protection landscape is rapidly evolving, and we may be or become subject to or affected by numerous federal, state and foreign
laws and regulations, as well as regulatory guidance, governing the collection, use, disclosure, transfer, security and processing of
personal data, such as information that we collect about subjects and health care providers in connection with clinical trials. Implementation
standards and enforcement practices are likely to remain uncertain for the foreseeable future, which may create uncertainty in our business;
affect our or our service providers&#8217; ability to operate in certain jurisdictions or to collect, store, transfer use and share personal
data; result in liability; or impose additional compliance or other costs on us. Any failure or perceived failure by us to comply with
federal, state, or foreign laws or self-regulatory standards could result in negative publicity, diversion of management time and effort
and proceedings against us by governmental entities or others.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the United States, numerous federal and state laws and regulations, including federal health information privacy laws (e.g., the Health
Insurance Portability and Accountability Act, as amended by the Health Information Technology for Economic and Clinical Health Act, or
collectively HIPAA), state data breach notification laws, state health information privacy laws, and federal and state consumer protection
laws (e.g., Section 5 of the Federal Trade Commission Act), that govern the collection, use, disclosure and protection of health-related
and other personal information could apply to our operations or the operations of our collaborators. In addition, we may obtain health
information from third parties (including research institutions from which we obtain clinical trial data) that are subject to privacy
and security requirements under HIPAA or other privacy and data security laws. Depending on the facts and circumstances, we could be
subject to criminal penalties if we knowingly obtain, use, or disclose protected health information maintained by a HIPAA-covered entity
in a manner that is not authorized or permitted by HIPAA. However, determining whether protected health information has been handled
in compliance with applicable privacy standards and our contractual obligations can be complex and may be subject to changing interpretation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
we are unable to properly protect the privacy and security of protected health information or other personal, sensitive, or confidential
information in our possession, we could be found to have breached our contracts. Further, if we fail to comply with applicable privacy
laws, including applicable HIPAA privacy and security standards, we could face significant administrative, civil and criminal penalties.
Enforcement activity can also result in financial liability and reputational harm, and responses to such enforcement activity can consume
significant internal and outside resources. Furthermore, state attorneys general are authorized to bring civil actions seeking either
injunctions or damages in response to violations that threaten the privacy of state residents. In addition, our ongoing efforts to comply
with evolving laws and regulations at the federal and state level may be costly and require continuous modifications to our compliance
policies, procedures, and systems.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Many
state laws govern the privacy and security of personal information and data in specified circumstances, many of which differ from each
other in significant ways, are often not pre-empted by HIPAA, and may have a more prohibitive effect than HIPAA, thus complicating compliance
efforts. For example, the California Consumer Privacy Act of 2018 (the &#8220;CCPA&#8221;), which went into effect in January 2020 and
provides new data privacy rights for consumers and new operational requirements for companies, which may increase our compliance costs
and potential liability. The CCPA gives California residents expanded rights to access and delete their personal information, opt out
of certain personal information sharing, and receive detailed information about how their personal information is used. The CCPA provides
for civil penalties for violations, as well as a private right of action for data breaches that is expected to increase data breach litigation.
While there is currently an exception for protected health information that is subject to HIPAA and clinical trial regulations, as currently
written, the CCPA may impact certain of our business activities. In addition, the California Consumer Rights Act, or CPRA, was recently
enacted to strengthen elements of the CCPA and became effective on January 1, 2023. The CPRA imposes additional data protection obligations
on covered businesses, including additional consumer rights processes, limitations on data uses, new audit requirements for higher risk
data, and opt outs for certain uses of sensitive data and expands the application of the CCPA to all human resources personal information
of California-based employees. In addition, the CPRA created a new California data protection agency authorized to issue substantive
regulations and is expected to result in increased privacy and information security enforcement. A number of other states have considered
similar privacy proposals, and states have recently enacted their own privacy laws. For example, the Virginia Consumer Data Protection
Act became effective on January 1, 2023, and Colorado and Utah enacted similar laws that became effective in 2023, increasing
the complexity of compliance and the risk of failures to comply. These privacy laws may impact our business activities and exemplify
the vulnerability of our business to the evolving regulatory environment related to personal data.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition to our operations in the United States, which may be subject to health care and other laws relating to the privacy and security
of health information and other personal information, we may be or become subject to European data privacy laws, regulations and guidelines.
The General Data Protection Regulation, (EU) 2016/679 (&#8220;GDPR&#8221;) became effective on May 25, 2018, and deals with the collection,
use, storage, disclosure, transfer, or other processing of personal data, including personal health data, regarding individuals in the
EEA. The GDPR imposes a broad range of strict requirements on companies subject to the GDPR, including requirements relating to having
legal bases for processing personal information relating to identifiable individuals and transferring such information outside the EEA,
including to the United States, providing details to those individuals regarding the processing of their personal health and other sensitive
data, obtaining consent of the individuals to whom the personal data relates, keeping personal information secure, having data processing
agreements with third parties who process personal information, responding to individuals&#8217; requests to exercise their rights in
respect of their personal information, reporting security breaches involving personal data to the competent national data protection
authority and affected individuals, appointing data protection officers, conducting data protection impact assessments, and record-keeping.
The GDPR increases substantially the penalties to which we could be subject in the event of any non-compliance, including fines of up
to &#8364;10,000,000 or up to 2% of our total worldwide annual turnover for certain comparatively minor offenses, or up to &#8364;20,000,000
or up to 4% of our total worldwide annual turnover, whichever is greater, for more serious offenses. The GDPR also confers a private
right of action on data subjects and consumer associations to lodge complaints with supervisory authorities, seek judicial remedies,
and obtain compensation for damages resulting from violations of the GDPR. In addition, the GDPR includes restrictions on cross-border
data transfers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Following
the United Kingdom&#8217;s withdrawal from the European Union (i.e., Brexit), and the expiry of the Brexit transition period, which ended
on December 31, 2020, the EU GDPR has been implemented in the United Kingdom (as the UK GDPR). The UK GDPR sits alongside the UK Data
Protection Act 2018 which implements certain derogations in the EU GDPR into UK law. Under the UK GDPR, companies not established in
the UK but who process personal data in relation to the offering of goods or services to individuals in the UK, or to monitor their behavior
will be subject to the UK GDPR &#8211; the requirements of which are (at this time) largely aligned with those under the EU GDPR and
as such, may lead to similar compliance and operational costs with potential fines of up to &#163;17.5 million or 4% of global turnover.
In 2022, the government of the United Kingdom proposed and debated the Data Protection and Digital Information Bill to harmonize the
2018 Data Protection Act, UK GDPR, and the Privacy and Electronic Communications Regulations under one legislative framework. However,
progress on the bill stalled as the government continues to assess the most optimal approach to data protection reform.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
currently sell some of our products in the EEA, and the GDPR increases our responsibility and liability in relation to personal data
that we process where such processing is subject to the GDPR, and we are required to have in place additional mechanisms and safeguards
to ensure compliance with the GDPR, including as implemented by individual countries. Compliance with the GDPR is a rigorous and time-intensive
process that increase our cost of doing business or require us to change our business practices, and despite those efforts, there is
a risk that we may be subject to fines and penalties, litigation, and reputational harm in connection with our European activities. We
expect that we will continue to face uncertainty as to whether our efforts to comply with any obligations under European privacy laws
will be sufficient. If we are investigated by a European data protection authority, we may face fines and other penalties. Any such investigation
or charges by European data protection authorities could have a negative effect on our existing business and on our ability to attract
and retain new clients or partners.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Risks
Related to Our Intellectual Property</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>If
the combination of patents, trade secrets and contractual provisions that we rely on to protect our intellectual property is inadequate,
our ability to commercialize our products successfully will be harmed, and we may not be able to operate our business profitably.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
success depends significantly on our ability to protect our proprietary rights to the technologies incorporated in our products. We rely
on a combination of patent protection, trade secret laws and nondisclosure, confidentiality and other contractual restrictions to protect
our proprietary technology. However, these may not adequately protect our rights or permit us to gain or keep any competitive advantage.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
issuance of a patent is not conclusive as to its scope, validity or enforceability. The scope, validity or enforceability of our issued
patents can be challenged in litigation or proceedings before the U.S. Patent and Trademark Office, or the USPTO, or foreign patent offices.
In addition, our pending patent applications include claims to numerous important aspects of our products under development that are
not currently protected by any of our issued patents. We cannot assure you that any of our pending patent applications will result in
the issuance of patents to us. The USPTO or foreign patent offices may deny or require significant narrowing of claims in our pending
patent applications. Patents issued as a result of the pending patent applications, if any, may not provide us with significant commercial
protection or be issued in a form that is advantageous to us. Proceedings before the USPTO or foreign patent offices could result in
adverse decisions as to the priority of our inventions and the narrowing or invalidation of claims in issued patents. The laws of some
foreign countries may not protect our intellectual property rights to the same extent as the laws of the United States, if at all.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
competitors may successfully challenge and invalidate or render unenforceable our issued patents, including any patents that may issue
in the future, which could prevent or limit our ability to market our products and could limit our ability to stop competitors from marketing
products that are substantially equivalent to ours. In addition, competitors may be able to design around our patents or develop products
that provide outcomes that are comparable to our products but that are not covered by our patents.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the event a competitor infringes upon any of our patents or other intellectual property rights, enforcing our rights may be difficult,
time-consuming and expensive, and would divert management&#8217;s attention from managing our business. There can be no assurance that
we will be successful on the merits in any enforcement effort. In addition, we may not have sufficient resources to litigate, enforce
or defend our intellectual property rights.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
could become subject to intellectual property litigation that could be costly, result in the diversion of management&#8217;s time and
efforts, require us to pay damages, prevent us from marketing our commercially available products or product candidates and/or reduce
the margins we may realize from our products that we may commercialize.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Whether
a product infringes a patent involves complex legal and factual issues, and the determination is often uncertain. There may be existing
patents of which we are unaware that our products under development may inadvertently infringe. The likelihood that patent infringement
claims may be brought against us increases as the number of participants in the <i>in vitro</i> diagnostics market increases and as we
achieve more visibility in the marketplace and introduce products to market.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
infringement claim against us, even if without merit, may cause us to incur substantial costs, and would place a significant strain on
our financial resources, divert the attention of management from our core business, and harm our reputation. In some cases, litigation
may be threatened or brought by a patent holding company or other adverse patent owner who has no relevant product revenues and against
whom our patents may provide little or no deterrence. If we were found to infringe any patents, we could be required to pay substantial
damages, including triple damages if an infringement is found to be willful, and royalties and could be prevented from selling our products
unless we obtain a license or are able to redesign our products to avoid infringement. We may not be able to obtain a license enabling
us to sell our products on reasonable terms, or at all, and there can be no assurance that we would be able to redesign our products
in a way that would not infringe those patents. If we fail to obtain any required licenses or make any necessary changes to our technologies
or the products that incorporate them, we may be unable to commercialize one or more of our products or may have to withdraw products
from the market, all of which would have a material adverse effect on our business, financial condition and results of operations.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
rely substantially on our trademarks and trade names. If our trademarks and trade names are not adequately protected, then we may not
be able to build name recognition in our markets of interest and our business may be harmed.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
rely substantially upon trademarks to build and maintain the integrity of our brand. Our registered and unregistered trademarks or trade
names may be challenged, infringed, circumvented, declared unenforceable or determined to be violating or infringing on other intellectual
property rights. We may not be able to protect or enforce our rights to these trademarks and trade names, which we rely upon to build
name recognition among potential partners and customers in our markets of interest. At times, competitors or other third parties may
adopt trade names or trademarks similar to ours, thereby impeding our ability to build brand identity and possibly leading to market
confusion. Asserting claims against such third parties may be prohibitively expensive. In addition, there could be potential trade name
or trademark infringement, or dilution claims brought by owners of other trademarks against us. Over the long term, if we are unable
to establish name recognition based on our trademarks and trade names, then we may not be able to compete effectively, and our business
may be adversely affected. Our efforts to enforce or protect our proprietary rights related to trademarks, trade secrets, domain names
or other intellectual property may be ineffective, could result in substantial costs and diversion of resources and could harm our business,
financial condition and results of operations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Risks
Related to Litigation from Operating Our Business</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
may become subject to potential product liability claims, and we may be required to pay damages that exceed our insurance coverage.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
business exposes us to potential product liability claims that are inherent in the design, testing, manufacture, sale and distribution
of our currently marketed products and each of our product candidates that we are seeking to introduce to the market. Someone may allege
that our diagnostic tests identified inaccurate or incomplete information or otherwise failed to perform as designed. We may also be
subject to liability for errors in, a misunderstanding of or inappropriate reliance upon, the information we provide in the ordinary
course of our business activities. In addition, we may be subject to product liability claims resulting from misuse or off-label use
of our products and product candidates. Any product liability claim brought against us, with or without merit, could result in an increase
of our product liability insurance rates or in our inability to secure coverage in the future on commercially reasonable terms, if at
all. In addition, if our product liability insurance proves to be inadequate to pay a damage award, we may have to pay the excess of
this award out of our cash reserves, which could significantly harm our financial condition. A product liability claim, even one without
merit, could harm our reputation in the industry, lead to significant legal fees, and result in the diversion of management&#8217;s attention
from managing our business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Current
or future litigation, government investigations and other legal proceedings may harm our business.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have been, currently are and may in the future become, involved in legal proceedings that could have a negative impact on our reputation,
business and financial condition and divert the attention of our management from the operation of our business. The types of legal proceedings
we may be or become subject to include patent and other intellectual property claims, product liability claims, employee claims, tort
or contract claims, federal or state regulatory investigations, securities class actions, and other legal proceedings, investigations
or claims. For example, we are currently parties to two securities class action claims and three derivative actions. Litigation and other
legal proceedings are inherently unpredictable and can result in excessive or unanticipated verdicts and/or injunctive relief that affect
how we operate our business. We could incur judgments or enter into settlements of claims for monetary damages or for agreements to change
the way we operate our business, or both. There may be an increase in the scope of these matters or there may be additional lawsuits,
claims, proceedings or investigations in the future, which could harm our business, financial condition and results of operations. Adverse
publicity about regulatory or legal action against us could damage our reputation and brand image, undermine our customers&#8217; confidence
and reduce long-term demand for any of our products or other offerings, even if the regulatory or legal action is unfounded or not material
to our operations. For additional information, see &#8220;Item 3. Legal Proceedings.&#8221;</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>The
price of our common stock may fluctuate substantially.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
market price of our common stock may be subject to wide fluctuation in response to various factors, some of which are beyond our control.
Some factors that may cause the market price of our common stock to fluctuate, in addition to the other risks mentioned in this &#8220;Risk
Factors&#8221; section and elsewhere in this report, are:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">sales
    or purchases of our common stock by our shareholders, executives, and directors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to obtain regulatory approval to commercialize our PCR platform on a timely basis or at all; </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to enter new markets;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">actual
    or unanticipated fluctuations in our annual and quarterly financial results;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to obtain financings to continue and expand our commercial activities, expand our manufacturing operations, conduct research
    and development activities including, but not limited to, human clinical trials, and other business activities;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to secure resources and the necessary personnel to continue and expand our commercial activities, develop additional diagnostic
    tests, conduct clinical trials and gain approval for our diagnostic tests on our desired schedule;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">commencement,
    enrollment or results of our clinical trials of our diagnostic tests or any future clinical trials we may conduct;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in the development status of our diagnostic tests;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">any
    delays or adverse developments or perceived adverse developments with respect to review by the FDA or other similar foreign regulatory
    authorities of our planned clinical trials;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">any
    delay in our submission for studies or test approvals or adverse regulatory decisions, including failure to receive regulatory approval
    or clearance for our diagnostic tests;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    announcements or our competitors&#8217; announcements regarding new tests, enhancements, significant contracts, acquisitions or strategic
    investments;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">failures
    to meet external expectations or management guidance;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in our capital structure or dividend policy, including as a result of future issuances of securities and sales of large blocks of
    common stock by our shareholders;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">announcements
    and events surrounding financing efforts, including debt and equity securities;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">competition
    from existing technologies and diagnostic tests or new technologies and diagnostic tests that may emerge;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">announcements
    of acquisitions, partnerships, collaborations, joint ventures, new diagnostic tests, capital commitments, or other events by us or
    our competitors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in general economic, political and market conditions in any of the regions in which we conduct our business;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in industry conditions or perceptions;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in valuations of similar companies or groups of companies;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">analyst
    research reports, recommendations and changes in recommendations, price targets and withdrawals of coverage;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">departures
    and additions of key personnel;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">disputes
    and litigations related to intellectual properties, proprietary rights, and contractual obligations;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in applicable laws, rules, regulations, or accounting practices and other dynamics;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">other
    events or factors, many of which may be out of our control.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, if the market for stocks in our industry or industries related to our industry, or the stock market in general, experiences
a loss of investor confidence, the trading price of our common stock could decline for reasons unrelated to our business, financial condition
and results of operations. If any of the foregoing occurs, it could cause our stock price to fall and may expose us to lawsuits that,
even if unsuccessful, could be costly to defend and a distraction to management.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Anti-takeover
provisions in our charter documents and Utah law could discourage, delay, or prevent a change of control of our Company and may affect
the trading price of our common stock.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are a Utah corporation and the anti-takeover provisions of the Utah Control Shares Acquisition Act may discourage, delay or prevent a
change of control by limiting the voting rights of control shares acquired in a control share acquisition. In addition, our Articles
of Incorporation and Bylaws may discourage, delay or prevent a change in our management or control over us that shareholders may consider
favorable. Among other things, our Amended and Restated Articles of Incorporation and Bylaws:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">authorize
    the issuance of &#8220;blank check&#8221; preferred stock that could be issued by our board of directors in response to a takeover
    attempt;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">provide
    that vacancies on our board of directors, including newly created directorships, may be filled only by a majority vote of directors
    then in office, except a vacancy occurring by reason of the removal of a director without cause shall be filled by vote of the shareholders;
    </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">no
    right to cumulative voting; </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">limit
    who may call special meetings of shareholders; and </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">provide
    for a staggered board of directors</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
provisions could have the effect of delaying or preventing a change of control, whether or not it is desired by, or beneficial to, our
shareholders.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
do not currently intend to pay dividends on our common stock.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not expect to pay cash dividends on our common stock. Any future dividend payments are within the absolute discretion of our board
of directors and will depend on, among other things, our results of operations, working capital requirements, capital expenditure requirements,
financial condition, contractual restrictions, business opportunities, anticipated cash needs, provisions of applicable law and other
factors that our board of directors may deem relevant. We may not generate sufficient cash from operations in the future to pay dividends
on our common stock.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are a &#8220;smaller reporting company&#8221; and the reduced disclosure requirements applicable to smaller reporting companies may make
our common stock less attractive to investors.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are currently a &#8220;smaller reporting company&#8221; as defined in the Securities Exchange Act of 1934. Smaller reporting companies
are able to provide simplified executive compensation disclosures in their filings, and have certain other decreased disclosure obligations
in their SEC filings, including, among other things, only being required to provide two years of audited financial statements in annual
reports. We cannot predict whether investors will find our common stock less attractive because of our reliance on any of these exemptions.
If some investors find our common stock less attractive as a result, there may be a less active trading market for our common stock and
our stock price may be more volatile.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
incur substantial costs as a result of being a public company and our management expects to devote substantial time to public company
compliance programs.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
a public company, we incur significant legal, insurance, accounting and other expenses, including costs associated with public company
reporting. We intend to invest resources to comply with evolving laws, regulations and standards, and this investment will result in
increased general and administrative expenses and may divert management&#8217;s time and attention from product development and commercialization
activities. If our efforts to comply with new laws, regulations and standards differ from the activities intended by regulatory or governing
bodies due to ambiguities related to practice, regulatory authorities may initiate legal proceedings against us, and our business may
be harmed. These laws and regulations could make it more difficult and costlier for us to obtain director and officer liability insurance
for our directors and officers, and we may be required to accept reduced coverage or incur substantially higher costs to obtain coverage.
These factors could also make it more difficult for us to attract and retain qualified executive officers and qualified members of our
board of directors, particularly to serve on our audit and compensation committees. In addition, if we are unable to continue to meet
the legal, regulatory and other requirements related to being a public company, we may not be able to maintain the listing of our common
stock on The NASDAQ Capital Market, which would likely have a material adverse effect on the trading price of our common stock.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_004"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
1B. UNRESOLVED STAFF COMMENTS</b></span></p>

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

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

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_005"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
1C. CYBERSECURITY</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
understand the importance of preventing, identifying, assessing and managing material risks associated with cybersecurity threats. Cybersecurity
processes to identify, assess and manage risks from cybersecurity threats have been incorporated as a part of our overall risk assessment
process and are designed to help protect our information assets and operations from internal and external cyber threats and protect employee
and customer information from unauthorized access or attack, as well as secure our network and systems. The Company&#8217;s cybersecurity
policies, standards, processes, and practices are based on recognized frameworks established by the National Institute of Standards and
Technology (&#8220;NIST&#8221;) and are included in the Company&#8217;s overall risk management system and processes. We have implemented
into our operations these cybersecurity processes, technologies and controls to identify, assess and manage material risks. Specifically,
we engage a third-party cybersecurity firm to assist with network and endpoint monitoring, cloud system monitoring and assessment of
our incident response procedures. Further, we employ periodic internal and external penetration testing by an independent cybersecurity
firm to inform our risk identification and assessment of critical, high, medium and minor material cybersecurity threats.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
manage our material risks from cybersecurity threats and to protect against, detect, and prepare to respond to cybersecurity incidents,
we undertake the below listed activities:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="width: 0.5in">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Monitor
    evolving cybersecurity standards and emerging data protection laws and implement changes to our processes to comply;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">risk
    assessments designed to help identify material cybersecurity risks to our critical systems, information, products, services, and
    our broader enterprise IT environment;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    Company leverages third-party vendors to house critical clinical trial data. These vendors are required to be GxP compliant which
    entails strong cybersecurity controls that are validated by a third-party auditor. Furthermore, the Company has begun performing
    security risk assessments prior to on-boarding new significant vendors.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    Company provides regular, mandatory training for all levels of employees regarding cybersecurity threats as a means to equip the
    Company&#8217;s employees with effective tools to address cybersecurity threats, and to communicate the Company&#8217;s evolving
    information security policies, standards, processes, and practices.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Employ
    multifactor authentication on internal and external systems;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Conduct
    regular phishing email simulations for all employees; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#9679;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Carry
    cybersecurity risk insurance that provides protection against the potential losses arising from a cybersecurity incident.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
incident response plan coordinates the activities that we and our third-party cybersecurity providers take to prepare to respond and
recover from cybersecurity incidents, which include processes to triage, assess severity, investigate, escalate, contain, and remediate
an incident, as well as to comply with potentially applicable legal obligations and mitigate brand and reputational damage.</span></p>

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



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
part of the above processes, we engage with subject matter expert consultants to review our cybersecurity program to help identify areas
for continued focus, improvement, and compliance.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
processes also include assessing cybersecurity threat risks associated with our use of third-party services providers in normal course
of business use, including those in our supply chain or who have access to patient and employee data or our systems. Third-party risks
are included within our risk management process discussed above. In addition, we assess cybersecurity considerations in the selection
and oversight of our third-party services providers, including due diligence on the third parties that have access to our systems and
facilities that house systems and data.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not believe that there are currently any known risks from cybersecurity threats that are reasonably likely to materially affect our
business strategy, results of operations or financial condition. However, cybersecurity threats may affect our business. See &#8220;<b><i>Cyber
security risks and the failure to maintain the integrity of company, employee or guest data could expose us to data loss, litigation
and liability, and our reputation could be significantly harmed.</i></b>&#8221; in &#8220;Item 1A. Risk Factors&#8221; of this Annual
Report on Form 10-K.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Audit Committee of the Board of Directors is responsible for oversight of our cybersecurity risk assessment, risk management, incident
response procedures and cybersecurity risks and provides updates to the Board of Directors regarding such oversight. Periodically during
each year, the Audit Committee receives an overview from our Vice President, Head of Technology of our cybersecurity threat risk management
and strategy processes, including potential impact on us, the efforts of management to manage the risks that are identified and our incident
response preparations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
cybersecurity risk assessment, management and strategy processes are led by our Chief Technology Officer. Our Chief Technology Officer
has over 15 years of experience in various roles involving managing information security, managing privacy and data protection, developing
cybersecurity strategy, and implementing cybersecurity programs. The Chief Technology Officer was recently promoted and is training to
be a Certified Information Security Manager (CISM), is informed about and monitors the prevention, mitigation, detection, and remediation
of cybersecurity incidents through management of the cybersecurity risk management and strategy processes described above, including
our incident response plan.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_006"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
2. PROPERTIES</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
headquarters are located at 2401 S. Foothill Drive, Salt Lake City, Utah. Our current facilities have approximately 54,000 square feet
of laboratory, manufacturing, storage and office space under leases that expire in 2026 through 2028. We believe the facilities we lease
are sufficient to meet our needs for the foreseeable future.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_007"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
3. LEGAL PROCEEDINGS</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we are at times subject to various legal proceedings and disputes, including the proceedings specifically
discussed below. We assess our liabilities and contingencies in connection with outstanding legal proceedings utilizing the latest information
available. Where it is probable that we will incur a loss and the amount of the loss can be reasonably estimated, we record a liability
in our consolidated financial statements. These legal reserves may be increased or decreased to reflect any relevant developments on
a quarterly basis. Where a loss is not probable or the amount of loss is not estimable, we do not accrue legal reserves. While the outcome
of legal proceedings is inherently uncertain, based on information currently available and available insurance coverage, our management
believes that it has established appropriate legal reserves. Any incremental liabilities arising from pending legal proceedings are not
expected to have a material adverse effect on our consolidated financial position, consolidated results of operations, or consolidated
cash flows. However, it is possible that the ultimate resolution of these matters, if unfavorable, may be material to our consolidated
financial position, consolidated results of operations, or consolidated cash flows.</span></p>

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



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Class
Actions and Shareholder Derivative Suits</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Gelt
Securities Class Action (District of Utah)</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
June 15, 2020, Gelt Trading Co. (&#8220;Gelt&#8221;) filed a lawsuit in the United States District Court for the District of Utah (&#8220;District
of Utah&#8221;), against the Company and certain of our directors and officers, on behalf of itself and a putative class, seeking to
recover damages for alleged violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934 (&#8220;Gelt Litigation&#8221;).
The complaint alleges that Co-Diagnostics and the individual defendants overstated the accuracy of the Company&#8217;s Logix Smart COVID-19
test in statements on April 30, 2020 and May 1, 2020, and that plaintiff suffered losses when the Company&#8217;s stock price dropped
after public reports questioned the accuracy of the Logix Smart test on May 14, 2020. On July 15, 2020, plaintiff filed an amended complaint.
On March 10, 2021, the court appointed Gelt as Lead Plaintiff, and on April 7, 2021, Lead Plaintiff filed a second amended complaint
(&#8220;SAC&#8221;), which asserts the same Sections 10(b) and 20(a) claims against the same defendants on largely the same theory. On
May 5, 2021, the defendants moved to dismiss the SAC. On March 9, 2022, the court entered a Decision &amp; Order denying the motion to
dismiss, but narrowing the challenged statements to only those made in the May 1, 2020 press release, and on April 13, 2022, the defendants
filed an answer to the SAC. On October 17, 2022, Gelt filed a motion to certify the putative class, and on August 18, 2023, the court
partially granted that motion, certifying a class of all those who purchased Co-Diagnostics securities between May 1, 2020 and May 14,
2020, dates inclusive, and who were damaged thereby. Fact discovery closed on August 18, 2023 and expert discovery is currently underway.
Summary judgment motions and motions to exclude expert testimony are due April 10, 2024; no trial date has yet been set. The defendants
believe the claims are without merit and intend to defend vigorously against them, but there can be no assurances as to the outcome.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Shareholder
Derivative Lawsuits (District of Utah &amp; Utah State Court)</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
September 17, 2020, a shareholder derivative lawsuit was filed in the District of Utah by Luis Aguilera, allegedly on behalf of Co-Diagnostics,
Inc., that substantially piggybacks on the Gelt Litigation referenced above. The lawsuit asserts that the defendants failed to prevent
the alleged securities law violations largely asserted in the Gelt Litigation. On December 2, 2020, a second shareholder derivative lawsuit
was filed in the District of Utah by Melvyn Klein asserting essentially the same claims, allegedly on behalf of Co-Diagnostics, as the
Aguilera shareholder derivative action. And on April 29, 2021, the District of Utah consolidated the two shareholder derivative cases,
with the Aguilera case serving as the lead case under the caption <i>In re Co-Diagnostics, Inc. Derivative Litigation</i>. On May 3,
2022, plaintiffs filed an amended complaint asserting claims for breach of fiduciary duty, unjust enrichment, and contribution under
Sections 10(b) and 21D of the Securities Exchange Act of 1934. Defendants answered the amended complaint on June 24, 2022. On January
25, 2024, the consolidated Aguilera derivative action was voluntarily dismissed without prejudice.</span></p>

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



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
November 24, 2020, an additional shareholder derivative lawsuit was filed in the District of Utah by Matthew Wallace, allegedly on behalf
of Co-Diagnostics, Inc., that also piggybacks on the Gelt Litigation referenced above. It named the same defendants and asserted essentially
the same claims, allegedly on behalf of Co-Diagnostics, as in the other District of Utah shareholder derivative actions referenced above.
On January 25, 2021, another shareholder derivative lawsuit was filed in the District of Utah by Jason Reagan, asserting essentially
the same claims as in the Wallace lawsuit. On March 18, 2021, the court consolidated the two lawsuits, with the Wallace lawsuit serving
as the lead case. On April 30, 2021, plaintiffs filed an amended complaint asserting claims for breach of fiduciary duty against defendants
and claims for insider trading. On January 26, 2024, the court ordered the parties&#8217; proposed revised case schedule, setting fact
and expert discovery deadlines throughout 2024 and early 2025; dispositive motions are due June 1, 2025, but no trial date has yet been
set.</span></p>

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

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

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

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



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 29, 2021, an additional shareholder derivative lawsuit was filed in the Third District Court in and for Salt Lake County, State
of Utah (&#8220;Utah State Court&#8221;) by Hua Ding, allegedly on behalf of Co-Diagnostics, Inc., that also piggybacks on the Gelt Litigation
referenced above. It names the same defendants and asserts essentially the same claims as in <i>In re Co-Diagnostics, Inc. Derivative
Litigation</i> pending in the District of Utah referenced above. On December 12, 2022, a second shareholder derivative lawsuit was filed
in Utah State Court by Kathryn Matuch asserting essentially the same claims, allegedly on behalf of Co-Diagnostics, as the Ding shareholder
derivative action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
defendants believe the claims asserted in all of the shareholder derivative lawsuits referenced above are without merit and intend to
defend vigorously against them, but there can be no assurances as to the outcome.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Stadium
Capital Securities Class Action (Southern District of New York)</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
August 16, 2022, Stadium Capital LLC (&#8220;Stadium&#8221;) filed a lawsuit in the United States District Court for the Southern District
of New York, against Co-Diagnostics, Inc., and certain of our officers, on behalf of itself and a putative class, seeking to recover
damages for alleged violations of Sections 10(b) and 20(a) of the Securities Exchange Act of 1934. The complaint alleges that Co-Diagnostics
and the individual defendants overstated the demand for the Company&#8217;s Logix Smart COVID-19 test in statements on May 12, 2022 and
June 15, 2022. The complaint alleges that plaintiff suffered losses when the Company&#8217;s stock price dropped after the Company disclosed
its financial results for the quarter ended June 30, 2022 in a press release on August 11, 2022. On September 19, 2022, a second plaintiff,
Drew Lee, filed a similar complaint in the same court against the same defendants alleging essentially the same claims. On August 9,
2023, the court consolidated these two securities class actions into the Stadium action and appointed Stadium as lead plaintiff. On September
21, 2023, Stadium filed a consolidated amended complaint, and on October 20, 2023, defendants moved to dismiss. On February 5, 2024,
the Court granted in part and denied in part the defendants&#8217; motion to dismiss. On February 20, 2024, the defendants answered the
consolidated amended complaint, and the parties are now engaged in discovery. The defendants believe the claims are without merit and
intend to defend vigorously against them, but there can be no assurances as to the outcome.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Co-Diagnostics,
Inc. v. Hukui Technology, Inc., et al. (Third Judicial District Court, Salt Lake County, State of Utah, Civil No. 210902131, filed on
April 21, 2021). </i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company filed a complaint against Defendants Hukui Technology, Inc., Hukui Tech, Inc., and Hukui Bio Co., Ltd (collectively, &#8220;Hukui&#8221;)
seeking a declaratory judgment that the Company is not obligated to any of them in any amount. On August 24, 2021, Hukui filed their
Answer and Counterclaim seeking damages on a number of theories, including breach of contract for letter agreements, breach of oral agreement,
promissory estoppel, unjust enrichment, and interference with economic relations. Hukui requested a money judgment against the Company
in an amount to be determined at trial. On September 20, 2021, Hukui filed their Unopposed Motion for Leave to Amend Answer to the Complaint,
Affirmative Defenses, and Counterclaims and, on October 14, 2021, Hukui filed their Amended Answer and Counterclaims seeking damages
on declaratory judgment, as well as breach of contract for letters of authorization, breach of oral agreement, promissory estoppel, unjust
enrichment, and interference with economic relations. In 2022 the parties exchanged their initial disclosures, exchanged written discovery
requests, and conducted a number of depositions on each side that were concluded in January 2023. On June 1, 2023 the Company filed a
Motion for Summary Judgment asking the court for summary judgment on its sole claim for declaratory relief and for summary judgment with
respect to all Hukui counterclaims. On November 7, 2023, the Court issued its decision and granted the Company summary judgment on its
sole claim for declaratory relief and on all Hukui counterclaims. On December 22, 2023, Hukui filed a notice of appeal of the final judgment
in its entirety with the Utah Supreme Court. The Company believes the claims are without merit and intends to defend vigorously against
them, but there can be no assurances as to the outcome.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Co-Diagnostics,
Inc. v. Pantheon International Advisors Ltd. (Third Judicial District Court, Salt Lake County, State of Utah, Civil No. 210902609, filed
on May 14, 2021). </i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company filed a complaint against Pantheon International Advisors (&#8220;Pantheon&#8221;) asking the court to declare that the Company
has no ongoing contractual business relationship with Pantheon, no monies owing, nor does Pantheon have any interest, right, title or
claim to any stock issued by the Company or ownership of any kind in the Company. Pantheon was served with a 30-Day Summons on September
9, 2021 to which it failed to respond, and a default judgement against Pantheon International Advisors was entered by the Court on November
28, 2021. The time to appeal from the judgment or seek to vacate the judgment has passed.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">After
learning that the Company had initiated suit in Utah, and after learning of Company&#8217;s intent to serve it with process of that suit,
on May 24, 2021, Pantheon filed a claim against the Company in the Royal Courts of Justice Group, Queens Bench Division, Claim No. QB-21-002245,
stating that the Company owes Pantheon $2,860,809.79 for alleged breach of contract for failing to make payments purportedly due under
a contract allegedly entered into on October 18, 2018. The Company is being represented locally in the UK by Freshfields Bruckhaus Deringer
LLP in that matter. The Company intends to vigorously defend against the UK claims and will seek to the full extent possible to enforce
its rights under the Declaratory Judgment already obtained in Utah but there can be no assurances as to the outcome.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_008"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
4. MINE SAFETY DISCLOSURES</b></span></p>

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

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

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_010"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
5. MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER EQUITY SECURITIES</b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
common stock has been quoted on the NASDAQ market under the symbol &#8220;CODX&#8221; since July 12, 2017.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 12, 2024, the last reported sales price reported on NASDAQ for our common stock was $1.18 per share. As of March 12, 2024, we
had approximately 154 record holders of our common stock. The number of record holders was determined from the records of our transfer
agent and does not include beneficial owners of common stock whose shares are held in the names of various security brokers, dealers,
and registered clearing agencies. The transfer agent for our common stock is VStock Transfer LLC located at 18 Lafayette Pl, Woodmere,
New York 11598.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have never declared or paid any cash dividends on our capital stock. The payment of dividends on our common stock in the future will
depend on our earnings, capital requirements, operating and financial condition and such other factors as our board of directors may
consider appropriate. We currently expect to use all available funds to finance the future development and expansion of our business
and do not anticipate paying dividends on our common stock in the foreseeable future.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to Section 16-10a-640 of the Utah Revised Business Corporation Act, no distribution may be made if, after giving it effect:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    corporation would not be able to pay its debts as they become due in the usual course of business; or</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    corporation&#8217;s total assets would be less than the sum of its total liabilities plus, unless the articles of incorporation permit
    otherwise, the amount that would be needed, if the corporation were to be dissolved at the time of the distribution, to satisfy the
    preferential rights upon dissolution of shareholders whose preferential rights are superior to those receiving the distribution.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Securities
authorized for issuance under equity compensation plans</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Information
about our equity compensation plans in Item 12 of Part III of this Annual Report on Form 10-K is incorporated herein by reference.</span></p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Purchases
of Equity Securities by the Issuer and Affiliated Purchasers</b></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></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 colspan="17" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Issuer Purchase of Equity Securities</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Period</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a) Total number of shares purchased <sup>(1)</sup></b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b) Average price paid per share <sup>(1)</sup></b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(c ) Total number of shares purchased as part of publicly announced plans or programs <sup>(1)</sup></b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d) Maximum number (or approximate dollar value) of shares that may yet be purchased under the plans or programs <sup>(1)</sup></b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; text-align: center">10/01/23 &#8211; 10/31/23</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">77,676</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1.08</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">77,676</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">14,500,002</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">11/01/23 &#8211; 11/30/23</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">14,500,002</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center">12/01/23 &#8211; 12/31/23</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">62,482</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.21</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">62,482</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">14,424,205</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">140,158</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">1.14</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">140,158</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">14,424,205</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>(1)</sup></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
    March 2022, the company announced that its board of directors authorized the repurchase of up to $30.0 million of the company&#8217;s
    outstanding common stock. The extent to which the company repurchases its shares, and the timing of such repurchases, will depend
    upon a variety of factors, including trading volume, market conditions, legal requirements, business conditions and other factors.
    The repurchase program may be discontinued at any time, and the program does not obligate the company to acquire any specific number
    of shares of its common stock.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_012"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULT OF OPERATIONS</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following management&#8217;s discussion and analysis of financial condition and results of operations describes the principal factors
affecting the results of our operations, financial condition, and changes in financial condition. This discussion should be read in conjunction
with the accompanying audited financial statements, and notes thereto, included elsewhere in this report. In addition to historical information,
this Annual Report contains forward-looking statements that involve risks, uncertainties, and assumptions. Our actual results may differ
materially from those anticipated in these forward-looking statements as a result of certain factors, including but not limited to those
set forth under the caption &#8220;Item 1A. Risk Factors&#8221; in this Annual Report on Form 10-K.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics, Inc., a Utah corporation (the &#8220;Company&#8221; or
&#8220;CODX&#8221;), develops, manufactures and sells reagents used for diagnostic tests that function via the detection and/or analysis
of nucleic acid molecules (DNA or RNA), including robust and innovative molecular tools for detection of infectious diseases, liquid biopsy
for cancer screening, and agricultural applications. Our diagnostics systems enable dependable, low-cost, molecular testing for organisms
and genetic diseases by automating or simplifying historically complex procedures in both the development and administration of tests.
CODX&#8217;s technical advance involves a novel, patented approach to PCR test design of primer and probe structure (&#8220;CoPrimers&#8482;&#8221;)
that eliminates one of the key vexing issues of PCR amplification: the exponential growth of primer-dimer pairs (false positives and false
negatives) which adversely interferes with identification of the target DNA/RNA. Using our proprietary test design system and proprietary
reagents, we have designed and obtained regulatory approval to sell PCR diagnostic tests for the detection of COVID-19, influenza, tuberculosis,
hepatitis B and C, human papillomavirus, malaria, chikungunya, dengue, and the Zika virus. These initial diagnostic tests were cleared
for use in clinical labs only and not for point-of-care or at-home use.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are currently developing a unique, groundbreaking portable diagnostic device and test system designed for point-of-care and at-home
use. The system is comprised of our PCR instrument that we refer to as the Co-Dx&#8482; PCR Pro&#8482; instrument, our proprietary
diagnostic test cup system and a mobile application to be installed on the user&#8217;s mobile device. We refer to the system as the
&#8220;Co-Dx&#8482; PCR platform that is being designed to bring affordable, reliable polymerase chain reaction (&#8220;PCR&#8221;)
testing to patients in point-of-care and at-home settings. The Co-Dx PCR platform is subject to U.S. Food and Drug Administration
(&#8220;FDA&#8221;) review and is not available for sale at the time of this filing. In December 2023, we submitted the Co-Dx PCR
platform for review by the U.S. Food and Drug Administration (FDA) for Emergency Use Authorization (EUA). The submission included
the PCR Pro instrument, Co-Dx PCR COVID-19 detection test cups, and mobile app, all designed for use in point-of-care and at-home
settings. There is no guarantee that our Co-Dx PCR platform will receive the necessary regulatory approvals for commercialization,
or that, if regulatory approval is received, we will be able to successfully commercialize this platform.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe our proprietary molecular diagnostics technology is paving the way for innovation in disease detection and life sciences research
through our enhanced detection of genetic material. For various reasons, including owning our own platform, we believe we will be able
to accomplish this faster and more economically than some competitors, allowing for significant margins while still positioning ourselves
as a low-cost provider of molecular diagnostics and screening services. For example, we were the first US-based company to receive a
CE-marking for a COVID-19 test in early 2020, as we worked to help slow the spread of the pandemic through our global network of distributors
covering clinical labs in more than 50 countries. Our Logix Smart COVID-19 test was designed, developed, submitted for regulatory approval
and ready to be used as an in vitro diagnostic or IVD in countries that accept a CE Mark as approval for use of the test in a period
of just over 30 days. This is a real-world example of how the CODX technology can be used in an evolving epidemic or pandemic to get
diagnostic tools in the hands of medical professionals in a timely manner. It can be similarly used to design a test for mutated strains
of the virus should they not be detectable using currently available tests.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, continued development has demonstrated the unique properties of our CoPrimer technology that we believe makes it ideally suited
for a variety of applications where specificity is key to optimal results, including multiplexing several targets, enhanced Single Nucleotide
Polymorphism (&#8220;SNP&#8221;) detection and enrichment for next generation sequencing.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
scientists use the complex mathematics of DNA/RNA PCR test design to engineer and optimize PCR tests and to automate algorithms that
rapidly screen millions of possible options to pinpoint the optimum design. The intellectual property we use in our business, consisting
of the predictive mathematical algorithms and patented molecular structure used in the testing process, which together represents a major
advance in PCR testing systems. CODX technologies are now protected by more than 20 granted or pending US and foreign patents, as well
as certain trade secrets and copyrights. Ownership of our proprietary platform permits us the advantage of avoiding payment of patent
royalties required by other PCR test systems, which may allow the sale of diagnostic PCR tests at a lower price than competitors, while
enabling us to maintain profit margins.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
proprietary test design process involves identifying the optimal locations on the target genes for amplification and pair the locations
with the optimized primer and probe structure to achieve outputs that meet the design input requirements identified from market research.
This is done by following planned and documented processes, procedures and testing. In other words, we use the data resulting from our
tests to verify whether we succeeded in designing what we intended. Verification involves a series of testing that concludes that the
product is ready to proceed to validation in an evaluation either in our laboratory or in an independent laboratory setting using initial
production tests to confirm that the product as designed meets the user needs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Using
our proprietary test design system and proprietary reagents, we have designed and obtained regulatory approval in the European Community
and in India to sell PCR diagnostic tests for the detection of COVID-19, influenza, tuberculosis, hepatitis B and C, human papillomavirus,
malaria, chikungunya, dengue, and the Zika virus. In the United States, we obtained Emergency Use Authorization (&#8220;EUA&#8221;) for
our Logix Smart<span style="font-variant: small-caps">&#174;</span> COVID-19 detection test from the Food and Drug Administration, or
FDA, and we sell that test to qualified labs. In addition, our COVID-19 detection test and certain of our other suite of COVID-19 products
have been approved for sale in countries such as the United Kingdom, Australia and Mexico by the regulatory bodies in those countries
and have been registered for sale in many more countries. In connection with the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained
lab systems (which we refer to as the &#8220;MDx Device&#8221;).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition to testing for infectious disease, the technology lends itself to identifying any section of a DNA or RNA strand that describes
any type of genetic trait, which creates several significant applications. We, in conjunction with our customers, have designed and licensed tests that identify genetic traits in plant and animal genomes. We also have three multiplexed tests developed
to test mosquitos for the identification of diseases carried by the mosquitos to enable municipalities to concentrate their efforts in
managing mosquito populations on the specific areas known to be breeding the mosquitos that carry deadly viruses.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Results
of Operations for the Years Ended December 31, 2023 and 2022</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below provides a comparison of our operating results for the year ended December 31, 2023 as compared to the year ended December
31, 2022.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Change</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Change</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">%</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Product revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">991,473</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">34,218,209</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">(33,226,736</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 11%; text-align: right">-97</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: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,820,565</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,820,565</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Total revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,812,038</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,218,209</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(27,406,171</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-80</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Cost of revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,184,949</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,481,093</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,296,144</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-24</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,627,089</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">28,737,116</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(26,110,027</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-91</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="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><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="padding-left: 10pt; text-align: left">Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,860,815</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,344,628</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(483,813</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-7</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,279,441</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,262,963</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,478</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,962,593</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,438,098</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,524,495</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,230,474</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,282,718</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(52,244</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-4</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Goodwill impairment charges</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">15,388,546</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(15,388,546</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total operating expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">45,333,323</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">55,716,953</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(10,383,630</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-19</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 1.5pt">Loss from operations</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(42,706,234</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(26,979,837</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(15,726,397</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">58</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,161,913</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">704,045</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">457,868</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">65</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Realized gain on investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,243,059</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,243,059</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on disposition of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,578</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(138,117</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">135,539</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-98</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Gain on remeasurement of acquisition contingencies</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,092,581</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,899,644</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,807,063</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-86</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gain (loss) on equity method investment in joint venture</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">100,703</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(332,969</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">433,672</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-130</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total other income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,595,678</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,132,603</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(3,536,925</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-43</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Loss before income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(38,110,556</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(18,847,234</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(19,263,322</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">102</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax benefit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,777,691</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(4,608,985</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,831,294</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-40</td><td style="padding-bottom: 1.5pt; 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">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">(35,332,865</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">(14,238,249</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">(21,094,616</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">148</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the year ended December 31, 2023, we generated $6.8 million of revenue compared to revenue of $34.2 million in the year ended December
31, 2022. The decrease in revenue of $27.4 million was primarily due to lower sales of our Logix Smart COVID-19 test throughout the world.
As global attention and regulatory responses to the COVID-19 pandemic have eased, we have experienced significantly decreased demand
for our COVID-19 test. This decrease was partially offset by the generation of $5.8 million of grant revenue during the year ended December
31, 2023.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost
of revenues decreased by $1.3 million from $5.5 million for the year ended December 31, 2022 to $4.2 million for the year ended December
31, 2023. Included within cost of revenues for the year ended December 31, 2023 is an increase of approximately $2.8 million related
to reserves against certain raw materials and finished goods inventories. The decrease in revenues combined with a larger percentage
of fixed product manufacturing costs and reserves for obsolete inventory resulted in a lower gross margin percentage.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
incurred total operating expenses of $45.3 million for the year ended December 31, 2023 compared to total operating expenses of $55.7
million for the year ended December 31, 2022. The decrease in operating expenses was primarily due to the decreases related to the impairment
of goodwill, bad debt expense, and third party sales commissions, partially offset by increased expenses related to personnel, including
stock-based compensation, increased legal and professional services expenses, and increased investment in research and development.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
and marketing expenses for the year ended December 31, 2023 were $6.9 million compared to $7.3 million for the year ended December 31,
2022. The decrease of $0.4 million was primarily a result of decreased variable compensation, such as bonuses and commissions, and decreased
third-party sales commissions, partially offset by increased professional services and stock-based compensation expense.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">General
and administrative expenses were flat at $14.3 million for the years ended December 31, 2023 and 2022, respectively. Increases in professional,
legal, and advisory fees, personnel related expenses, and stock-based compensation expense were offset by decreases in bad debt expense
and insurance expense.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
research and development expenses increased by $5.6 million from $17.4 million for the year ended December 31, 2022, to $23.0 million
for the year ended December 31, 2023. The primary increase in expenses related to increased personnel expenses, as well as increases
in supplies expenses and professional and lab services utilized to further help us in our research and product development activities.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2022, the Company recognized charges of $15.4 million related to goodwill impairment.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
income was $4.6 million for the year ended December 31, 2023, compared to other income of $8.1 million for the year ended December 31,
2022. The decrease in other income of $3.5 million was primarily due to a change in the fair value of contingent consideration liabilities,
driven by changes in the Company&#8217;s stock price, and partially offset by increased interest income and realized investment gains
due to the Company&#8217;s investing activities.</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
realized a net loss for the year ended December 31, 2023 of $35.3 million compared to $14.2 million for the year ended December 31, 2022.
The decrease of $21.1 million was primarily the result of reduced sales of our Logix Smart COVID-19 test, increased operating expenses
as discussed above, and a decrease in the gain related to the fair value of acquisition related contingent consideration liabilities,
partially offset by a decrease in impairment charges related to the impairment of goodwill recorded in the prior year and increased interest
income and realized investment gains. Additionally, we recorded an income tax benefit of $2.8 million during the year ended December
31, 2023, compared to an income tax benefit of $4.6 million for the year ended December 31, 2022.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>LIQUIDITY
AND CAPITAL RESOURCES</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
December 31, 2023, we had cash and cash equivalents of $14.9 million and marketable investment securities of $43.6 million. We consider
our marketable investment securities an important part of our liquidity and focus such investments in securities that can readily be
converted into cash if needed. Additionally, our total current assets at December 31, 2023, were $62.1 million compared to total current
liabilities of $5.7 million.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash used in operating activities during the year ended December 31, 2023 was $22.1 million, compared to cash provided by operating activities
of $6.6 million for the year ended December 31, 2022. The decrease in cash from operating activities was primarily due to decreases in
revenue and increases in operating expenses.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash provided by investing activities was $15.4 million for the year ended December 31, 2023, compared to net cash used in investing
activities of $58.2 million during the year ended December 31, 2022. The increase in cash provided by investing activities is primarily
due to interest and realized gains related to marketable investment securities, as well as the redemption of certain investments as they
matured.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash used in financing activities was $1.4 million for the year ended December 31, 2023, compared to $14.0 million of cash used in financing
activities for the year ended December 31, 2022. The decrease in cash used in financing activities is primarily due to fewer repurchases
of outstanding common shares during 2023 as compared to 2022.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
commencing sales of our Logix Smart COVID-19 test in March 2020, we have used our cash generated from those sales to fund the purchase
of inventories and the development of our Co-Dx PCR Platform, and to pay our operating expenses. We have increased our work force most
significantly in research and development in order to continue development of the Co-Dx PCR platform and additional tests that will enable
continued use of our distributor network to sell additional products throughout the world.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe that our existing capital resources and the cash generated from future sales will be sufficient to meet our projected operating
requirements for the next 12 months. However, <span style="background-color: white">our available capital resources may be consumed more
rapidly than currently expected and we may need or want to raise additional financing for strategic opportunities. </span>It is anticipated
that the Company will continue to generate operating losses and use cash in operations in the near term. <span style="background-color: white">If
needed, we expect additional investment capital to come from additional issuances of our common stock or other equity based securities
with existing and new investors similar to those that have provided funding in the past. On March 16, 2023, the Company entered into
an Equity Distribution Agreement with Piper Sandler &amp; Co. (&#8220;Piper&#8221;), pursuant to which we may sell from time to time,
shares of our common stock, having an aggregate offering price of up to $50.0 million through Piper, as agent. No shares have been sold
under the distribution agreement as of December 31, 2023. We may not be able to secure such financing in a timely manner or on favorable
terms, if at all.</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CRITICAL
ACCOUNTING POLICIES AND ESTIMATES</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management&#8217;s discussion and analysis of our financial condition and results of operations is based on our consolidated financial
statements, which have been prepared in accordance with United States generally accepted accounting principles (&#8220;GAAP&#8221;).
The preparation of these financial statements requires us to make estimates and assumptions that affect the reported amounts of assets
and liabilities and the disclosure of contingent assets and liabilities at the date of the financial statements, as well as the reported
revenues and expenses incurred during the reporting periods. Our estimates are based on our historical experience and on various other
factors that we believe are reasonable under the circumstances. Actual results may differ from these estimates under different assumptions
or conditions. While our significant accounting policies are described in Item 8 of this Annual Report on Form 10-K, within Note 2 of
our consolidated financial statements in the section titled &#8220;Summary of Significant Accounting Policies&#8221;, we believe that
the accounting policies discussed below are critical to understanding our historical and future performance, as these policies relate
to the more significant areas involving management&#8217;s judgments and estimates.</span></p>

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



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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount, net of any allowance. The Company maintains an allowance for doubtful accounts
for amounts the Company does not expect to collect. In establishing the required allowance, management considers historical losses, current
market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns. Account balances are written
off against the allowance once the receivable is deemed uncollectible. If actual accounts receivable collections are less favorable than
those projected by management at the time of the assessment, however, additional accounts receivable write-downs may be required, which
could reduce our earnings.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Goodwill
and Intangible Assets </i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
useful lives of intangible assets with definite lives are based on the expected number of years the asset will generate revenue or otherwise
be used by us and the related amortization is based on the straight-line method. Goodwill, which has an indefinite life, is not amortized
but instead is tested at least annually for impairment, or more frequently when events or changes in circumstances indicate that the
asset might be impaired. Examples of such events or circumstances include:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="width: 0.5in">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    asset&#8217;s ability to continue to generate income from operations and positive cash flow in future periods;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">any
volatility or significant decline in our stock price and market capitalization compared to our net book value;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">loss
    of legal ownership or title to an asset;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">significant
    changes in our strategic business objectives and utilization of our assets; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td>&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    impact of significant negative industry or economic trends.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
a change were to occur in any of the above-mentioned factors or estimates, the likelihood of a material change in our reported results
would increase. For goodwill, the entity has the option to first assess qualitative factors to determine whether it is necessary to perform
the quantitative goodwill impairment test. The quantitative impairment test compares the fair value of a reporting unit with the carrying
amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill is considered not impaired; otherwise,
goodwill is impaired and the loss is recorded. Upon the completion of our annual evaluation for impairment of goodwill as of December
31, 2022, we recorded a goodwill impairment charge of $15.4 million.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
periodically review inventory for both potential obsolescence and potential declines in anticipated selling prices. In this review, we
make assumptions about the future demand for and market value of the inventory and based on these assumptions estimate the amount of
any obsolete, unmarketable, slow moving or overvalued inventory. We write down the value of our inventories by an amount equal to the
difference between the cost of the inventory and the net realizable value. If actual market conditions are less favorable than those
projected by management at the time of the assessment, however, additional inventory write-downs may be required, which could reduce
our earnings.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
judgment is required in determining our provision for income taxes, current tax assets and liabilities, deferred tax assets and liabilities,
and our future taxable income, both as a whole and in various tax jurisdictions, for purposes of assessing our ability to realize future
benefit from our deferred tax assets. We recognize in the financial statements the impact of a tax position if that position is more
likely than not to be sustained during an audit, including resolution of related appeals or litigation processes, if any. While we believe
that we have appropriate support for the positions taken on our tax returns, we regularly assess the potential outcome of examinations
by tax authorities in determining the adequacy of our provision for income taxes. See Note 11 to our Consolidated Financial Statements
for more information on income taxes.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
foregoing estimates, expectations and forward-looking statements are subject to change as we make strategic operating decisions from
time to time and as our revenue and expenses fluctuate from period to period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="Z_013"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
7A. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</b></span></p>

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

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

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="Z_014"></span>ITEM
8. FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>DECEMBER
31, 2023 AND 2022</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Table
of Contents</span></b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#Ha_001">Reports of Independent Registered Public Accounting Firms</a> (PCAOB ID No. <span id="xdx_902_edei--AuditorFirmId_c20230101__20231231_zPh04JQCSom7"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:AuditorFirmId" id="ixv-16139">270</ix:nonNumeric></span> and ID No. <span id="xdx_904_edei--AuditorFirmId_c20220101__20221231_zLwW7UPJobF6"><ix:nonNumeric contextRef="From2022-01-012022-12-31" name="dei:AuditorFirmId" id="ixv-16140">457</ix:nonNumeric></span>)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">34</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif"><a href="#ja_002"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Balance Sheets</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">36</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif"><a href="#ja_003"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Statements of Operations</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">37</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif"><a href="#ja_004"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Statement of Changes in Stockholders&#8217; Equity </span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">38</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif"><a href="#ja_005"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Statements of Cash Flows</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">39</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif"><a href="#Z_027"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notes to Consolidated Financial Statements</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">40</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

<p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: center"><span id="Ha_001"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Report
of Independent Registered Public Accounting Firm</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Board of Directors and Stockholders</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Opinion
on the Consolidated Financial Statements</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have audited the accompanying consolidated balance sheet of Co-Diagnostics Inc. and subsidiaries (the Company) as of December 31, 2023,
the related consolidated statements of operations and comprehensive loss, changes in stockholders&#8217; equity, and cash flows for the
year then ended, and the related notes (collectively, the consolidated financial statements). In our opinion, the consolidated financial
statements referred to above present fairly, in all material respects, the consolidated financial position of the Company as of December
31, 2023, and the consolidated results of its operations and its cash flows for the year then ended, in conformity with accounting principles
generally accepted in the United States of America.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
for Opinion</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion
on the Company&#8217;s consolidated financial statements based on our audit. We are a public accounting firm registered with the Public
Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance
with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain
reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud.
The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part
of our audit, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing
an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audit included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due
to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence
regarding the amounts and disclosures in the consolidated financial statements. Our audit also included evaluating the accounting principles
used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements.
We believe that our audit provides a reasonable basis for our opinion.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Critical
Audit Matters</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
critical audit matters communicated below are matters arising from the current period audit of the consolidated financial statements
that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are
material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The
communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole,
and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the
accounts or disclosures to which they relate.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Estimation
of the Fair Value of Intangible Assets</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
more fully described in Notes 2 and 6 to the consolidated financial statements, the Company acquired Idaho Molecular, Inc., and Advanced
Conceptions, Inc. in December 2021. As part of the transaction, the Company acquired in-process research and development indefinite-lived
intangible assets totaling $26,101,000. The Company assesses these assets for impairment at least annually or whenever events or changes
in circumstances occur that may indicate impairment. The Company&#8217;s analysis for the year ended December 31, 2023, required significant
judgment to assess qualitative factors in determining whether it is more likely than not that the indefinite-lived intangible asset is
impaired. As a result of their analysis, the Company determined there was no impairment as of year-end.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Auditing
the Company&#8217;s annual impairment assessment was complex and highly judgmental due to the significant judgement required in determining
whether it is more likely than not that an indefinite-lived intangible asset is impaired. This required a high degree of auditor judgement,
subjectivity and effort in performing procedures and evaluating audit evidence to evaluate management assessment in evaluating these
indefinite-lived intangibles for impairment. These procedures included among others: (1) evaluating management&#8217;s process for evaluating
for impairment, (2) evaluating the factors assessed by management (3) evaluating other relevant factors in making our own determination,
and (4) evaluating and discussing considerations and conclusions made by management.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
<span id="xdx_905_edei--AuditorName_c20230101__20231231_zs7RfqJVVXM2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:AuditorName" id="ixv-16141">Tanner LLC</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have served as the Company&#8217;s auditor since 2023</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_edei--AuditorLocation_c20230101__20231231_z03N7CBcp0T7"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" name="dei:AuditorLocation" id="ixv-16142">Salt
Lake City, Utah</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; padding: 0pt; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
14, 202</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>REPORT
OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b>&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Board of Directors and Stockholders of Co-Diagnostics, Inc.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Opinion
on the Financial Statements</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have audited the accompanying consolidated balance sheet of Co-Diagnostics, Inc (the Company) as of December 31, 2022, and
the related consolidated statements of operations and comprehensive income (loss), changes in stockholders&#8217; equity, and cash flows
for the year ended December 31, 2022, and the related notes (collectively referred to as the financial
statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company
as of December 31, 2022, and the results of its operations and its cash flows for the year ended
December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s
financial statements based on our audit. We are a public accounting firm registered with the Public Company Accounting Oversight Board
(United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities
laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain
reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company
is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audit,
we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing an opinion
on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audit included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error
or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding
the amounts and disclosures in the financial statements. Our audit also included evaluating the accounting principles used and significant
estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audit provides a reasonable basis for our opinion.</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
<span id="xdx_90B_edei--AuditorName_c20220101__20221231_zsMRYIFhj3Vh"><ix:nonNumeric contextRef="From2022-01-012022-12-31" name="dei:AuditorName" id="ixv-16143">Haynie &amp; Company</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--AuditorLocation_c20220101__20221231_zVaifUyX8PXd"><ix:nonNumeric contextRef="From2022-01-012022-12-31" name="dei:AuditorLocation" id="ixv-16144">Salt
Lake City, Utah</ix:nonNumeric></span></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
began serving as the Company&#8217;s auditor in 2016. In 2023, we became the predecessor auditor.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="ja_002"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
BALANCE SHEETS</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_302_111_zW8SOQg6grl7" summary="xdx: Statement - Consolidated Balance Sheets" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49B_20231231_zlc03nrFZp34" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49B_20221231_zWjVO3FdDiAh" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AssetsAbstract_iB_zUjXMEEY4Be" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><b>Assets</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--AssetsCurrentAbstract_i01B_z37PwRYBoOx" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left">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_404_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i02I_maACzG1Q_z5mnitxblL25" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 64%; text-align: left">Cash and cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16145">14,916,878</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16146">22,973,803</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--MarketableSecuritiesCurrent_i02I_maACzG1Q_z2tyGUE6F4Nf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Marketable investment securities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16147">43,631,510</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:MarketableSecuritiesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16148">58,289,066</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AccountsReceivableNetCurrent_i02I_maACzG1Q_zPFDzwIkLh87" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16149">303,926</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16150">3,453,723</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_i02I_maACzG1Q_zKMe3dNtij5a" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Inventory, net</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16151">1,664,725</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16152">5,310,473</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReceivable_i02I_maACzG1Q_zsOPtDDfJsd8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReceivable" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16153">26,955</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:IncomeTaxReceivable" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16154">1,870,419</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i02I_maACzG1Q_zPdbnfq2lm55" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses and other current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16155">1,597,114</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:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16156">761,187</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NotesAndLoansReceivableNetCurrent_i02I_maACzG1Q_zmbwPFuUIhXh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Note receivable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0073">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16157">75,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AssetsCurrent_i02TI_mtACzG1Q_maAzO52_zEqyPwvDpATh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Total current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16158">62,141,108</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:AssetsCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16159">92,733,671</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maAzO52_z8iyDO1wsdQb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16160">3,035,729</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16161">2,539,483</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maAzO52_zQfv1iZu4Ggd" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16162">2,966,774</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16163">372,115</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_maAzO52_zDhx3Oywusgf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangible assets, net</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16164">26,403,667</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16165">26,768,333</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RealEstateInvestmentsJointVentures_i01I_maAzO52_zPeOPm0fIXc9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Investment in joint venture</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RealEstateInvestmentsJointVentures" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16166">773,382</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RealEstateInvestmentsJointVentures" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16167">672,679</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--Assets_i01TI_mtAzO52_zzQd6LLSUe4f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 2.5pt">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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16168">95,320,660</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16169">123,086,281</ix:nonFraction></td><td style="padding-bottom: 2.5pt; 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: left"><b>Liabilities and stockholders&#8217; equity</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--LiabilitiesCurrentAbstract_i01B_zcY1Ge0LYqb9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">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_403_eus-gaap--AccountsPayableCurrent_i02I_maLCz6LE_zxYyiLouGiNk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts payable</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16170">1,482,109</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16171">952,296</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccruedLiabilitiesCurrent_i02I_maLCz6LE_zjEAJNGXLr1b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16172">2,172,959</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16173">934,447</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maLCz6LE_z0z3xDt70lo8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability, current</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16174">838,387</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16175">297,209</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetAcquisitionContingentConsiderationLiabilityCurrent_i02I_maLCz6LE_zfDQiKKpGq0d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration liabilities, current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16176">891,666</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:AssetAcquisitionContingentConsiderationLiabilityCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16177">1,689,471</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_maLCz6LE_z6UQzGTh7sDd" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Deferred revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16178">362,449</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0113">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LiabilitiesCurrent_i02TI_mtLCz6LE_maLzt5v_zIjdJTwLkV2b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16179">5,747,570</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16180">3,873,423</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LiabilitiesNoncurrentAbstract_i01B_zEqU4acYPere" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term 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_409_ecustom--TaxesPayableNoncurrent_i02I_maLNzHih_zvDrtaufYlA8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:TaxesPayableNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16181">659,186</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="CODX:TaxesPayableNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16182">1,181,284</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i02I_maLNzHih_zvjNLZh4rLWl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0124">-</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:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16183">2,417,987</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i02I_maLNzHih_zxXKnCcKsp2h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Operating lease liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16184">2,152,180</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16185">50,708</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AssetAcquisitionContingentConsiderationLiabilityNoncurrent_i02I_maLNzHih_zATdefi9Hwe8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16186">748,109</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16187">1,042,885</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesNoncurrent_i02TI_mtLNzHih_maLzt5v_zCNBJBqMlLfa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total long-term liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16188">3,559,475</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16189">4,692,864</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Liabilities_i01TI_mtLzt5v_maLASEztov_zdFhDZjEIxB4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16190">9,307,045</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16191">8,566,287</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CommitmentsAndContingencies_i01I_maLASEztov_zFVicfkLWci" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><b>Commitments and contingencies (Note 12)</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--StockholdersEquityAbstract_i01B" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><b>Stockholders&#8217; equity</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--PreferredStockValue_i02I_maSEzjC3_zjD3iO6b6t8i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt">Convertible preferred stock, $<span id="xdx_90F_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231_zfRXGfo5q3z4" title="Convertible preferred stock, par value"><span id="xdx_906_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20221231_zd97glOND0w9" title="Convertible preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16192"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16193">0.001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_902_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_ztO5RHDi5qYi" title="Convertible preferred stock , shares authorized"><span id="xdx_90F_eus-gaap--PreferredStockSharesAuthorized_iI_c20221231_zfqAbEBVhJgf" title="Convertible preferred stock , shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16194"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16195">5,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_904_eus-gaap--PreferredStockSharesIssued_iI_c20231231_zjbdv3LRfFn" title="Convertible preferred stock, shares issued"><span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231_zahHePg0xJq7" title="Convertible preferred stock, shares outstanding"><span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20221231_zSsxCcRCr4le" title="Convertible preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231_zS1NuOgpI5E6" title="Convertible preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16196"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16197"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16198"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16199">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0145">-</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: xdx2ixbrl0146">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CommonStockValue_i02I_maSEzjC3_zBQ2N9kC5Hv4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Common stock, $<span id="xdx_909_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20231231_ztq1qJW4g4j6" title="Common stock, par value"><span id="xdx_906_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20221231_zyy0ymerLOBj" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16200"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16201">0.001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_904_eus-gaap--CommonStockSharesAuthorized_iI_c20231231_zlRZ43NZa8Tf" title="Common stock, shares authorized"><span id="xdx_902_eus-gaap--CommonStockSharesAuthorized_iI_c20221231_zbVtlGC72tlc" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16202"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16203">100,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_90B_eus-gaap--CommonStockSharesIssued_iI_c20231231_zrPWZgrK7fm5" title="Common stock, shares issued"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16204">36,108,346</ix:nonFraction></span> shares issued and <span id="xdx_90F_eus-gaap--CommonStockSharesOutstanding_iI_c20231231_zTTjE67iFWfk" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16205">31,259,668</ix:nonFraction></span> shares outstanding as of December 31, 2023 and <span id="xdx_902_eus-gaap--CommonStockSharesIssued_iI_c20221231_zhFnKLgzFJb8" title="Common stock, shares issued"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16206">34,754,265</ix:nonFraction></span> shares issued and <span id="xdx_902_eus-gaap--CommonStockSharesOutstanding_iI_c20221231_zwSmYZ3kbjyk" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16207">30,872,607</ix:nonFraction></span> shares outstanding as of December 31, 2022</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16208">36,108</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16209">34,754</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--TreasuryStockValue_i02NI_di_msSEzjC3_zwp5Kzubtgbe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Treasury stock, at cost; <span id="xdx_903_eus-gaap--TreasuryStockCommonShares_iI_c20231231_zembfQqidop1" title="Treasury stock, shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16210">4,848,678</ix:nonFraction></span> and <span id="xdx_902_eus-gaap--TreasuryStockCommonShares_iI_c20221231_zqnc2BbR82qf" title="Treasury stock, shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16211">3,881,658</ix:nonFraction></span> shares held as of December 31, 2023 and December 31, 2022, respectively</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16212">15,575,795</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:TreasuryStockValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16213">14,211,866</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--AdditionalPaidInCapital_i02I_maSEzjC3_zFbnvy88Vshb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">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:AdditionalPaidInCapital" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16214">96,808,436</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:AdditionalPaidInCapital" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16215">88,472,935</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_i02I_maSEzjC3_zknBwAJhSDll" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accumulated other comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16216">146,700</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:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16217">293,140</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maSEzjC3_zHq4tDJ6RCah" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Accumulated earnings</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16218">4,598,166</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16219">39,931,031</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockholdersEquity_i02TI_pp0p0_mtSEzjC3_maLASEztov_zwNHkjLaF207" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total stockholders&#8217; equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16220">86,013,615</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16221">114,519,994</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_pp0p0_mtLASEztov_z93MzPWvBfO7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 2.5pt">Total liabilities and stockholders&#8217; 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="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16222">95,320,660</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="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16223">123,086,281</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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="ja_003"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_301_113_z8arPfsW0zc2" summary="xdx: Statement - Consolidated Statements of Operations and Comprehensive Loss" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20230101__20231231_zgbllUA3Mupl" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20220101__20221231_zDEfmiVa9mj7" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--ProductOrServiceAxis__custom--ProductRevenueMember_z9AjHn1eEyth" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Product revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ProductRevenueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16224">991,473</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ProductRevenueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16225">34,218,209</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--ProductOrServiceAxis__custom--GrantRevenueMember_zkC6Ds0RIFzc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_GrantRevenueMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16226">5,820,565</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0209">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maGPzWwC_zidMpSJQwOVi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Total revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16227">6,812,038</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:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16228">34,218,209</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--CostOfRevenue_msGPzWwC_zXuYvMFoYgd6" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Cost of revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16229">4,184,949</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16230">5,481,093</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--GrossProfit_iT_mtGPzWwC_maOILzoPD_zswSGMiqOw8g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16231">2,627,089</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16232">28,737,116</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OperatingExpensesAbstract_iB_z6QdGvdraPxj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--SellingAndMarketingExpense_i01_maOEzAiu_z2i21h2JvvCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">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="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16233">6,860,815</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="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16234">7,344,628</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--GeneralAndAdministrativeExpense_i01_maOEzAiu_zuVj0tN4zYa3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16235">14,279,441</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16236">14,262,963</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ResearchAndDevelopmentExpense_i01_maOEzAiu_zNcbnrLcWb97" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">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="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16237">22,962,593</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="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16238">17,438,098</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DepreciationAndAmortization_i01_maOEzAiu_zYmk8TybJsd6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16239">1,230,474</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:DepreciationAndAmortization" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16240">1,282,718</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--GoodwillImpairmentLoss_i01_maOEzAiu_zIUfEF2LnTe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Goodwill impairment charges</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0235">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GoodwillImpairmentLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16241">15,388,546</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingExpenses_i01T_mtOEzAiu_msOILzoPD_zKBzbSOL8Z21" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total operating expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16242">45,333,323</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16243">55,716,953</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OperatingIncomeLoss_iT_mtOILzoPD_maILFCOzb40_z2AfVK4fKTY6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 1.5pt">Loss from operations</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16244">42,706,234</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16245">26,979,837</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--NonoperatingIncomeExpenseAbstract_iB_zc1QB1TDII32" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other income, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--InterestIncomeOther_i01_maNIEzCIC_zXtECMpDMxS7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16246">1,161,913</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:InterestIncomeOther" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16247">704,045</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RealizedInvestmentGainsLosses_i01_maNIEzCIC_zrV3nJ9IT6l" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Realized gain on investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16248">2,243,059</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: xdx2ixbrl0251">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainLossOnDispositionOfAssets1_i01_maNIEzCIC_zWzcHCCJvBc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on disposition of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16249">2,578</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:GainLossOnDispositionOfAssets1" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16250">138,117</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_400_ecustom--GainOnRemeasurementOfAcquisitionContingencies_i01_maNIEzCIC_zYLCA8Ba7BY6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Gain on remeasurement of acquisition contingencies</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:GainOnRemeasurementOfAcquisitionContingencies" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16251">1,092,581</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="CODX:GainOnRemeasurementOfAcquisitionContingencies" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16252">7,899,644</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--GainLossOnSaleOfInvestments_i01_pp0p0_maNIEzCIC_zPNHrd4jCxug" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gain (loss) on equity method investment in joint venture</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16253">100,703</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD" id="ixv-16254">332,969</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--NonoperatingIncomeExpense_i01T_mtNIEzCIC_maILFCOzb40_zU1UBtiUGv75" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total other income, net</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16255">4,595,678</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16256">8,132,603</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtILFCOzb40_maNILzHkJ_zTGVUQMkwm0a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Loss before income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16257">38,110,556</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16258">18,847,234</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_msNILzHkJ_zZKMrk8gmUK2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax benefit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16259">2,777,691</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16260">4,608,985</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--NetIncomeLoss_iT_mtNILzHkJ_maCINOTz7LH_zirCJOrbJuL4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">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="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16261">35,332,865</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="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16262">14,238,249</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_iB_z3HeXH9vbB47" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other comprehensive loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_i01_maOCILBzVQy_zUsOH9Z57tqf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in net unrealized gains on marketable securities, net of tax</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16263">146,440</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16264">293,140</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeLossBeforeTax_iT_mtOCILBzVQy_maCINOTz7LH_zt4CofbaERTb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total other comprehensive income (loss)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16265">146,440</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16266">293,140</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ComprehensiveIncomeNetOfTax_iT_mtCINOTz7LH_zi9zk4KaLyJc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Comprehensive 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:ComprehensiveIncomeNetOfTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16267">35,479,305</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:ComprehensiveIncomeNetOfTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16268">13,945,109</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--EarningsPerShareBasicAbstract_iB_zt8czopCzdS6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Loss per common share:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--EarningsPerShareBasic_i01_zCKARCNXEaV" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16269">1.20</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:EarningsPerShareBasic" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16270">0.45</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_i01_zcx6puyGOaZf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16271">1.20</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:EarningsPerShareDiluted" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16272">0.45</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_iB_zSUYhKqvOzSa" style="vertical-align: bottom; background-color: White">
    <td>Weighted average shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--WeightedAverageNumberOfSharesOutstandingBasic_i01_zKtZBbdNSMV6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16273">29,346,599</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16274">31,479,028</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_i01_zdnCOvkVjoLc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16275">29,346,599</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:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16276">31,479,028</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="ja_004"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
STATEMENT OF CHANGES IN STOCKHOLDERS&#8217; EQUITY</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_308_114_zScLR8bgRIBl" summary="xdx: Statement - Consolidated Statement of Changes in Stockholders' Equity" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4B3_us-gaap--StatementClassOfStockAxis_us-gaap--ConvertiblePreferredStockMember_us-gaap--StatementEquityComponentsAxis_us-gaap--PreferredStockMember_zAjmNfWUcClj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4B1_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zCCQsiiK3Xw" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4BF_us-gaap--StatementEquityComponentsAxis_us-gaap--TreasuryStockCommonMember_zWkfD2gkKUQg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Stock</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4B9_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_zsM3OLxQA52d" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Capital</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_zh9XOB62TTV9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4BD_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_ztNOmMWZ8zm8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Earnings</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_4B1_z35QSKuXSnKd" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Equity</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Convertible</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Preferred Stock</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Common Stock</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">Treasury</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Additional</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Paid-in</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Accumulated</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Other</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Comprehensive</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">Accumulated</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Total</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Stockholders&#8217;</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Stock</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Capital</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Earnings</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Equity</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_43F_c20220101__20221231_eus-gaap--StockholdersEquity_iS_zJWckHzSmlLe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember_zJ3XIikbzJ4g" title="Balance, shares" style="width: 4%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0312">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right">&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0304">-</span></td><td style="border-right: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zB5ccxR65na8" title="Balance, shares" style="width: 4%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16277">33,819,862</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16278">33,820</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0306">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16279">80,271,999</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0308">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16280">54,169,280</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 4%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16281">134,475,099</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_i_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Common stock issued for option exercises</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0316">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zMPFtVThgLZ4" title="Common stock issued for option exercises, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16282">70,791</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:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16283">70</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: xdx2ixbrl0318">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16284">77,800</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: xdx2ixbrl0320">-</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: xdx2ixbrl0321">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16285">77,870</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zxmPTB8UwTz4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Common stock issued for warrant exercises</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0326">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zpcUpMfWj552" title="Common stock issued for warrant exercises, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16286">50,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:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16287">50</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: xdx2ixbrl0328">-</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:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16288">99,950</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: xdx2ixbrl0330">-</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: xdx2ixbrl0331">-</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:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16289">100,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensationGross_zVE8rgcUVgtc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Stock-based compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0336">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensationGross_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zopQkdUJKsfg" title="Stock-based compensation expense, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16290">725,166</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:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16291">725</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: xdx2ixbrl0338">-</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="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16292">7,542,498</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: xdx2ixbrl0340">-</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: xdx2ixbrl0341">-</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="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16293">7,543,223</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_zXUNMdC7h1Q1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Common stock issued for acquisitions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0346">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zr8Hftsr1tOj" title="Common stock issued for acquisitions, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16294">88,446</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:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16295">89</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: xdx2ixbrl0348">-</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:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16296">480,687</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: xdx2ixbrl0350">-</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: xdx2ixbrl0351">-</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:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16297">480,776</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--StockRepurchasedDuringPeriodValue_iN_di_zbz4TVxSLGza" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Repurchases of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0356">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0357">-</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:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16298">14,211,866</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: xdx2ixbrl0359">-</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: xdx2ixbrl0360">-</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: xdx2ixbrl0361">-</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:StockRepurchasedDuringPeriodValue" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16299">14,211,866</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--OtherComprehensiveIncomeLossNetOfTax_zfRa5KYHIyLh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other comprehensive income, net of tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0364">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0365">-</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: xdx2ixbrl0366">-</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: xdx2ixbrl0367">-</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:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16300">293,140</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: xdx2ixbrl0369">-</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:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16301">293,140</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetIncomeLoss_zzezLAQXbYI" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Net loss</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0372">-</span></td><td style="border-right: Black 1.5pt solid; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0373">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0374">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0375">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0376">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16302">14,238,249</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16303">14,238,249</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_436_c20230101__20231231_eus-gaap--StockholdersEquity_iS_z5503BAvOqoa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember_zDnHGOEvKJoc" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0388">-</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: xdx2ixbrl0380">-</span></td><td style="border-right: Black 1.5pt solid; 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_986_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zYzLSpmPtvrc" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16304">34,754,265</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16305">34,754</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16306">14,211,866</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16307">88,472,935</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16308">293,140</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16309">39,931,031</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16310">114,519,994</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_43B_c20230101__20231231_eus-gaap--StockholdersEquity_iS_z0xQbGtOCM43" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember_zZydGIUiUqrb" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0400">-</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: xdx2ixbrl0392">-</span></td><td style="border-right: Black 1.5pt solid; 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_98F_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zBntr1W4c0Sg" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16311">34,754,265</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16312">34,754</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16313">14,211,866</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16314">88,472,935</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16315">293,140</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16316">39,931,031</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16317">114,519,994</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensationGross_zUZ159LRHood" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Stock-based compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0404">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensationGross_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zoLOILLX2IN5" title="Stock-based compensation expense, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16318">1,354,081</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:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16319">1,354</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: xdx2ixbrl0406">-</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="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16320">8,335,501</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: xdx2ixbrl0408">-</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: xdx2ixbrl0409">-</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="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16321">8,336,855</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--StockRepurchasedDuringPeriodValue_iN_di_zsjWO1xSCDUd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Repurchases of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0414">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0415">-</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:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16322">1,363,929</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: xdx2ixbrl0417">-</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: xdx2ixbrl0418">-</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: xdx2ixbrl0419">-</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:StockRepurchasedDuringPeriodValue" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16323">1,363,929</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--OtherComprehensiveIncomeLossNetOfTax_zMSd7FfMr0Nl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other comprehensive loss, net of tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0422">-</span></td><td style="border-right: Black 1.5pt solid; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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: xdx2ixbrl0423">-</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: xdx2ixbrl0424">-</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: xdx2ixbrl0425">-</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:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16324">146,440</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: xdx2ixbrl0427">-</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:OtherComprehensiveIncomeLossNetOfTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16325">146,440</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--NetIncomeLoss_zPpMLNouw80h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Net loss</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0430">-</span></td><td style="border-right: Black 1.5pt solid; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0431">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0432">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0433">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0434">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16326">35,332,865</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16327">35,332,865</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_438_c20230101__20231231_eus-gaap--StockholdersEquity_iE_zZwclt9AoNHj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember_zAV8p0iUb4y7" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0446">-</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: xdx2ixbrl0438">-</span></td><td style="border-right: Black 1.5pt solid; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zW7HsHHiVqn8" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16328">36,108,346</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16329">36,108</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16330">15,575,795</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16331">96,808,436</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16332">146,700</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16333">4,598,166</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16334">86,013,615</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_430_c20230101__20231231_eus-gaap--StockholdersEquity_iE_zd6Ewc1sr6h5" style="display: none; vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance </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_98C_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember_zPQqAXRrmZi5" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0458">-</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: xdx2ixbrl0450">-</span></td><td style="border-right: Black 1.5pt solid; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1mQgbUEYbac" title="Balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16335">36,108,346</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16336">36,108</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16337">15,575,795</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16338">96,808,436</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16339">146,700</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16340">4,598,166</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16341">86,013,615</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: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="ja_005"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
STATEMENTS OF CASH FLOWS</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_306_112_ztTp0opeCB7d" summary="xdx: Statement - Consolidated Statements of Cash Flows" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_499_20230101__20231231_zX9xR8nmRXJh" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20220101__20221231_zymm4IYyvNRc" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_zKAbyqkatGll" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Cash flows from operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_i01_maNCPBUzDMt_zMB3nWeESH7a" style="vertical-align: bottom; background-color: White">
    <td style="width: 68%; text-align: left">Net loss</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16342">35,332,865</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16343">14,238,249</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zLsrEoM7wrn8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Adjustments to reconcile net loss to cash (used in) provided by operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepreciationDepletionAndAmortization_i02_maNCPBUzDMt_zc9loitjTv2c" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16344">1,230,474</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:DepreciationDepletionAndAmortization" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16345">1,282,718</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--GoodwillImpairmentLoss_i02_maNCPBUzDMt_zXlc6skBd315" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Goodwill impairment charges</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0474">-</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:GoodwillImpairmentLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16346">15,388,546</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ShareBasedCompensation_i02_maNCPBUzDMt_zItDRTb6fvk1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Stock-based compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16347">8,336,855</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:ShareBasedCompensation" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16348">7,543,223</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--GainOnRemeasurementOfAcquisitionContingencies_i02N_di_msNCPBUzDMt_zCcJ0NhQfXde" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Change in fair value of acquisition contingencies</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="CODX:GainOnRemeasurementOfAcquisitionContingencies" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16349">1,092,581</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="CODX:GainOnRemeasurementOfAcquisitionContingencies" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16350">7,899,644</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_ecustom--NoncashLeaseExpense_i02_maNCPBUzDMt_z0GAI4QpTB3e" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Non-cash lease expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:NoncashLeaseExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16351">47,992</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="CODX:NoncashLeaseExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16352">30,430</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--RealizedInvestmentGainsLosses_i02N_di_msNCPBUzDMt_zG0WfOFZkPJ7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Realized gain on investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16353">2,243,059</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: xdx2ixbrl0487">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--GainLossOnSaleOfInvestments_i02N_di_msNCPBUzDMt_zOpAu2V5QDsa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">(Gain) loss from equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16354">100,703</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:GainLossOnSaleOfInvestments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16355">332,969</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainLossOnDispositionOfAssets1_i02N_di_msNCPBUzDMt_zXDtPQH3GEr4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on disposition of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16356">2,578</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:GainLossOnDispositionOfAssets1" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16357">138,117</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredIncomeTaxExpenseBenefit_i02_maNCPBUzDMt_z2LabVlFSX8k" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16358">2,417,987</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:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16359">4,810,457</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--ProvisionForDoubtfulAccounts_i02_maNCPBUzDMt_zWx7Matewpjk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Provision for credit losses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16360">612,809</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:ProvisionForDoubtfulAccounts" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16361">2,461,032</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryWriteDown_i02_maNCPBUzDMt_zsyyjgWG2T44" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Inventory obsolescence expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryWriteDown" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16362">3,233,281</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:InventoryWriteDown" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16363">148,099</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zJAjMajqthOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Changes in assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_di_msNCPBUzDMt_zTIFizVNePL6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16364">2,536,988</ix:nonFraction></td><td style="text-align: left"/><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16365">14,924,427</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_di_msNCPBUzDMt_zrKuiz5phM99" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses and other assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16366">1,082,536</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:IncreaseDecreaseInPrepaidExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16367">224,094</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--IncreaseDecreaseInInventories_i03N_di_msNCPBUzDMt_zI9IbdkLlHl6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16368">413,140</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:IncreaseDecreaseInInventories" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16369">3,673,309</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_maNCPBUzDMt_zQJXBb3vleM9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Deferred revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16370">362,449</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:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16371">150,000</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_maNCPBUzDMt_zGzHbVgH1wY6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16372">522,098</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:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16373">2,201,250</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maNCPBUzDMt_zGnKMnWv2qEc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Accounts payable, accrued expenses and other liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16374">1,768,326</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16375">2,483,821</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtNCPBUzDMt_maCCERCzvI3_zmwUywbMffCk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Net cash (used in) provided by operating activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16376">22,081,865</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16377">6,568,737</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zTCmVGETLUoa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Cash flows from investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msNCPBUz0L5_zd3gqsISjC6j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Purchases of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16378">1,365,306</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:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16379">1,427,512</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ProceedsFromSaleAndMaturityOfMarketableSecurities_i01_maNCPBUz0L5_zf2wdBQJzvb8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from maturities of marketable investment securities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16380">127,251,619</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:ProceedsFromSaleAndMaturityOfMarketableSecurities" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16381">11,255,266</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--PaymentsToAcquireMarketableSecurities_i01N_di_msNCPBUz0L5_zWkefLK43GO6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Purchases of marketable securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireMarketableSecurities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16382">110,497,444</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireMarketableSecurities" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16383">67,995,926</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtNCPBUz0L5_maCCERCzvI3_zhwiKhpZQy3l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Net cash (used in) provided by investing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16384">15,388,869</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16385">58,168,172</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zIiJfp1fqsx7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Cash flows from financing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maNCPBUzTo9_zj6twFfv6QD4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from exercise of options and warrants</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0546">-</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:ProceedsFromIssuanceOfCommonStock" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16386">177,870</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsForRepurchaseOfCommonStock_i01N_di_msNCPBUzTo9_zlzNJGqfghJj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Repurchases of common stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16387">1,363,929</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16388">14,211,866</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUzTo9_maCCERCzvI3_zjoYmigBDgnl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Net cash (used in) financing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16389">1,363,929</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16390">14,033,996</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCCERCzvI3_zi47fKkTpmm5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Net decrease in cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16391">8,056,925</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16392">65,633,431</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_zvJoWFNTS7dc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Cash and cash equivalents at beginning of period</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16393">22,973,803</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16394">88,607,234</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_zKZ1ukVl6Ey6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Cash and cash equivalents at end of period</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16395">14,916,878</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:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16396">22,973,803</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--SupplementalCashFlowInformationAbstract_iB_z7C6rwxfOFl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Supplemental disclosure of cash flow information</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InterestPaidNet_i01_zPi6vJWLjhh6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Interest paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0567">-</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: xdx2ixbrl0568">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxesPaidNet_i01_z3aqZ6qzdvDh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16397">55,975</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:IncomeTaxesPaidNet" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16398">4,498,742</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--NoncashInvestingAndFinancingItemsAbstract_iB_zTQXI969pvP1" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Supplemental disclosure of non-cash investing and financing transactions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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_ecustom--NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_i01_zvIux21mLTIl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Inventory moved to property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16399">673</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="CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16400">218,906</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_i01_zz1xzB9bStc6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Right-of-use assets obtained in exchange for new operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16401">3,203,146</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:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16402">681,327</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--BusinessAcquisitionMeasurementPeriodAdjustments_i01_zvTXnQZkg5R9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Business acquisition measurement period adjustments</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0582">-</span></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="CODX:BusinessAcquisitionMeasurementPeriodAdjustments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16403">1,593</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_ecustom--StockIssuedDuringPeriodValueAcquisitionsAdjustments_i01_zI4nsFm4qqaa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Fair value of common stock issued as consideration for business acquisitions</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0585">-</span></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="CODX:StockIssuedDuringPeriodValueAcquisitionsAdjustments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16404">480,776</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_i01_zb6UMRI9mlq2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Fair value of contingent common stock issued as consideration for business acquisitions</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0588">-</span></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="CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16405">199,359</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="Z_027"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>NOTES
TO CONSOLIDATED FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>YEARS
ENDED DECEMBER 31, 2023 AND 2022</b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" id="ixv-6151"><p id="xdx_80F_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zK17KQjiKMW3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1 &#8211; <span id="xdx_822_zyY9s81ohGz4">Overview and Basis of Presentation</span></b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation (the &#8220;Company&#8221; or &#8220;CODX&#8221;), is a molecular diagnostics company that develops, manufactures
and markets state-of-the-art diagnostics technologies. The Company&#8217;s technologies are utilized for tests that are designed using
the detection and/or analysis of nucleic acid molecules (DNA or RNA). The Company also uses its proprietary technology to design specific
tests for its Co-Dx PCR platform and to locate genetic markers for use in applications other than infectious disease. In connection with
the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained lab systems.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates
and assumptions that affect the amounts reported in the financial statements and the accompanying notes. Such estimates include inventories,
receivables and other long-lived assets, legal and regulatory contingencies, income taxes, share based arrangements, and others. These
estimates and assumptions are based on management&#8217;s best estimates and judgments. Actual amounts and results could differ from
those estimates.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying audited consolidated financial statements of Co-Diagnostics, Inc. and its wholly owned subsidiaries have been prepared to
reflect the financial position, results of operations and cash flows of the Company and have been prepared in accordance with accounting
principles generally accepted in the United States of America (&#8220;GAAP&#8221;). All intercompany balances and transactions have been
eliminated.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="ixv-6185"><p id="xdx_80F_eus-gaap--SignificantAccountingPoliciesTextBlock_zS9IKylZNoL4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2 &#8211; <span id="xdx_822_zPA1zgukJ5Tl">Summary of Significant Accounting Policies</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="ixv-6193"><p id="xdx_841_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zgfVcYfuqaVe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86B_zZMBHjoqHgu1">Reclassifications</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform with the current year&#8217;s presentation. These reclassifications have no impact
on the previously reported results.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="ixv-6204"><p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zo0xPam83Tq3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_867_zf8QIN6BmfMj">Cash
and Cash Equivalents</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2023 and December
31, 2022. <span style="background-color: white">The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.</span></span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 40; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:MarketableSecuritiesPolicy" id="ixv-6227"><p id="xdx_84A_eus-gaap--MarketableSecuritiesPolicy_zlEPnn4jBAJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_z3qanzkPGLB3">Marketable
Investment Securities</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s marketable investment securities are comprised of investments in certificates of deposit and U.S. Treasury bills and
notes. The Company designates investments in debt securities as available-for-sale. Available-for-sale debt securities with original
maturities of three months or less from the date of purchase are classified within cash and cash equivalents. Available-for-sale debt
securities with original maturities longer than three months are available to fund current operations and are classified as marketable
investment securities, within current assets on the consolidated balance sheets. The Company may sell these securities at any time for
use in its current operations or for other purposes, even prior to maturity. Available-for-sale debt securities are reported at fair
value with the related unrealized gains and losses included in accumulated other comprehensive income (loss), a component of stockholders&#8217;
equity, net of tax. Realized gains and losses on the sale of marketable securities are determined using the average cost method on a
first-in, first-out basis and recorded in total other income (expense), net in the consolidated statements of operations and
comprehensive loss.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
available-for-sale debt securities are subject to a periodic impairment review. For investments in an unrealized loss position, the Company
writes down the amortized cost basis of the investment if it is more likely than not that the Company will be required or will intend
to sell the investment before recovery of its amortized cost basis. For investments not likely to be sold before recovery of the amortized
cost basis, the Company determines whether a credit loss exists by considering information about the collectability of the instrument,
current market conditions, and reasonable and supportable forecasts of economic conditions. The Company recognizes an allowance for credit
losses up to the amount of the unrealized loss when appropriate. Allowances for credit losses and write-downs are recognized in total
other income (expense), net, and unrealized losses not related to credit losses are recognized in accumulated other comprehensive income
(loss). There are no allowances for credit losses recorded for the periods presented.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="ixv-6242"><p id="xdx_841_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zjfI7s38hG05" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zKSsan0x0tQ3">Accounts
Receivable</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2023 total accounts receivable was $<span id="xdx_907_eus-gaap--AccountsReceivableGrossCurrent_iI_c20231231_zd5G7Uv4KiLf" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableGrossCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16406">504,264</ix:nonFraction></span> with an allowance for uncollectable
accounts of $<span id="xdx_90E_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20231231_z3WF38LF7oo3" title="Doubtful accounts"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16407">200,338</ix:nonFraction></span> resulting in a net amount of $<span id="xdx_90F_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231_zsOBKSr949Yc" title="Accounts receivable, net"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16408">303,926</ix:nonFraction></span>. At December 31, 2022 total accounts receivable was $<span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20221231_zg1wQ3qeMxme" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableGrossCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16409">6,552,249</ix:nonFraction></span> with an allowance
for uncollectable accounts of $<span id="xdx_906_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20221231_zo4xqO3OXCoa" title="Doubtful accounts"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16410">3,098,526</ix:nonFraction></span> resulting in a net amount of $<span id="xdx_909_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231_zoKjKV2z9B38" title="Accounts receivable, net"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16411">3,453,723</ix:nonFraction></span>.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:EquityMethodInvestmentsPolicy" id="ixv-6259"><p id="xdx_840_eus-gaap--EquityMethodInvestmentsPolicy_zjyDSkjQltQl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_zzFO0EyklNR4">Equity-Method
Investments</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:InventoryPolicyTextBlock" id="ixv-6270"><p id="xdx_843_eus-gaap--InventoryPolicyTextBlock_zSp7OhUdQxgl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zl4ZF9vYbOg">Inventory</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2023, the Company had $<span id="xdx_90B_eus-gaap--InventoryNet_iI_c20231231_z6PCywmDUDG9" title="Inventory"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16412">1,664,725</ix:nonFraction></span> in inventory, of which $<span id="xdx_90A_eus-gaap--InventoryFinishedGoods_iI_c20231231_z94I6ygZzwCk" title="Inventory finished goods"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16413">700,467</ix:nonFraction></span> was
finished goods and $<span id="xdx_90E_eus-gaap--InventoryRawMaterials_iI_c20231231_zJMptRxe6gUe" title="Inventory raw materials"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16414">964,258</ix:nonFraction></span> was raw materials. At December 31, 2022, the Company had $<span id="xdx_90F_eus-gaap--InventoryNet_iI_c20221231_zVeBGEa9llqk" title="Inventory"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16415">5,310,473</ix:nonFraction></span> in inventory, of which $<span id="xdx_900_eus-gaap--InventoryFinishedGoods_iI_c20221231_zjyfGVfOoaka" title="Inventory, finished goods, gross"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16416">1,327,264</ix:nonFraction></span> was
finished goods and $<span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20221231_zpzPiWmTUqAf" title="Inventory, raw materials, gross"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16417">3,983,209</ix:nonFraction></span> was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values. The Company recognized $<span id="xdx_90C_eus-gaap--InventoryValuationReserves_iI_c20231231_z7HeyO90m1va" title="Inventory reserves"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16418">2,760,011</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--InventoryValuationReserves_iI_c20221231_zYUie1DzaI72" title="Inventory reserves"><ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16419">0</ix:nonFraction></span> related to the change in inventory reserves during
the years ended December 31, 2023 and 2022, respectively.</span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 41; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="ixv-6300"><p id="xdx_84B_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxLil2YaJv0a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_864_z0gbqRq4dQkl">Goodwill
and Intangible Assets</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. Goodwill and indefinite-lived intangible assets are not amortized, but rather tested for impairment
at least annually on December 31, or more often if and when circumstances indicate that the carrying value may not be recoverable. Finite-lived
intangible assets are amortized over their useful lives.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the years ended December 31, 2023 and 2022, the Company recognized impairment charges related to goodwill of $<span id="xdx_908_eus-gaap--AssetImpairmentCharges_c20230101__20231231_zROHa50m8DUk" title="Impairment charges"><ix:nonFraction name="us-gaap:AssetImpairmentCharges" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16420">0</ix:nonFraction></span> and $<span id="xdx_902_eus-gaap--AssetImpairmentCharges_c20220101__20221231_zFwqQ1qJnSYf" title="Impairment charges"><ix:nonFraction name="us-gaap:AssetImpairmentCharges" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16421">15,388,546</ix:nonFraction></span>, respectively.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="ixv-6318"><p id="xdx_841_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zjBk0XfSy838" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zKBocwNeXqlf">Long-lived
Assets</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-lived
assets, such as property and equipment, are stated at cost less accumulated depreciation and amortization. Depreciation is provided using
the straight-line method over the estimated useful lives of the property, generally from three to five years. Repairs and maintenance
costs are expensed as incurred except when such repairs significantly add to the useful life or productive capacity of the asset, in
which case the repairs are capitalized.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
in-process research and development projects acquired in business combinations, the in-process research and development project is capitalized
and evaluated for impairment until the development process has been completed. Once the development process has been completed the asset
will be amortized over its remaining estimated useful life. The Company reviews its long-lived assets, including property and equipment,
indefinite-lived and finite-lived intangible assets, and ROU assets, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="ixv-6333"><p id="xdx_840_eus-gaap--RevenueRecognitionPolicyTextBlock_zkXlqbLi9CK2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zgp2Yuq1aaf8">Revenue
Recognition</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="CODX:GrantRevenuePolicyTextBlock" id="ixv-6348"><p id="xdx_84E_ecustom--GrantRevenuePolicyTextBlock_zyzCUNusPirk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zaUQRDcJojj4">Grant
Revenue</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company may submit applications to receive grant funding from governmental and non-governmental entities. The Company accounts for grants
by analogizing to the contribution accounting model under ASC 958-605, Not-for-Profit Entities (&#8220;ASC 958&#8221;). Revenues from
grants, contracts, and awards provided by governmental and non-governmental agencies are recorded based upon the terms of the specific
agreements. The Company recognizes grant funding without conditions or continuing performance obligations as revenue in the consolidated statements of operations and comprehensive income (loss). The Company recognizes grant funding with conditions or continuing
performance obligations as deferred revenue in the consolidated balance sheets if the conditions or performance obligations
have not yet been met. The Company recognized grant funding revenue of $<span id="xdx_90E_ecustom--GrantFundingRevenue_pn5n6_c20230101__20231231_zUTj38eP6Alh" title="Grant funding revenue"><ix:nonFraction name="CODX:GrantFundingRevenue" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16422">5.8</ix:nonFraction></span> million during the year ended December 31, 2023. At December
31, 2023, the Company has also recorded $<span id="xdx_90B_eus-gaap--DeferredRevenue_iI_pn5n6_c20231231_z6ID4mjPr8Ta" title="Deferred revenue"><ix:nonFraction name="us-gaap:DeferredRevenue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16423">0.3</ix:nonFraction></span> million of deferred revenue related to grant funding for which the cash was received, but
the underlying conditions or performance obligations have not yet been met. Cash received from federal grants, contracts, and awards
can be subject to audit by the grantor and, if the examination results in a disallowance of any expenditure, repayment could be required.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="ixv-6361"><p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zGBmU9O1qKka" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zHdll12KRuYa">Deferred
Revenue</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.</span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 42; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="ixv-6383"><p id="xdx_84A_eus-gaap--ResearchAndDevelopmentExpensePolicy_zGnsfG3qBV8l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_z721q2mfbAs1">Research
and Development</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research
and development costs are expensed when incurred. The Company recorded $<span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20230101__20231231_zkOeMY6IYCF6" title="Research and development"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16424">22,962,593</ix:nonFraction></span> and $<span id="xdx_905_eus-gaap--ResearchAndDevelopmentExpense_c20220101__20221231_zq70NmF6GRO1" title="Research and development"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16425">17,438,098</ix:nonFraction></span> of research and development costs
for the years ended December 31, 2023 and 2022, respectively.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="ixv-6396"><p id="xdx_846_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zO1J66Qw1C81" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zXvi2lFfjxDc">Stock-based
Compensation</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#8220;RSUs&#8221;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. <span style="background-color: white">When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.</span></span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:IncomeTaxPolicyTextBlock" id="ixv-6408"><p id="xdx_840_eus-gaap--IncomeTaxPolicyTextBlock_zxGKGvd04jLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zEM3A1mvmcL">Income
Taxes</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. The Company has uncertain income tax positions in the consolidated
financial statements, and adverse determinations by these taxing authorities could have a material adverse effect on the consolidated
financial positions, result of operations, or cash flows.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock" id="ixv-6428"><p id="xdx_847_eus-gaap--EarningsPerSharePolicyTextBlock_z9fZAoQAf3e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_z9ZrFdVPLDz6">Net
Income (Loss) per Share</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="ixv-6443"><p id="xdx_841_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z0l7LUASb4d9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zOcL1rhqo8p7">Comprehensive
Income (Loss)</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Comprehensive
loss is comprised of net loss and unrealized gains and losses on marketable securities, net of income taxes.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ConcentrationRiskCreditRisk" id="ixv-6454"><p id="xdx_847_eus-gaap--ConcentrationRiskCreditRisk_z3uady2vZ1H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_860_zpxT2VGITII6">Concentrations
Risk and Significant Customers</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which were each responsible for generating <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zeWhSgluJF3a" title="Concentration risk percentage"><span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zjPJNOTSiCGi" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16426"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16427">10</ix:nonFraction></ix:nonFraction></span></span>% or more of the total revenue for the years ended December
31, 2023 and 2022, respectively. Two customers accounted for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zvaMjr3yRLV9" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16428">28</ix:nonFraction></span>% of product revenue for the year ended December 31, 2023
and one customer accounted for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--OneCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zxx0kXFeHxH7" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_OneCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16429">37</ix:nonFraction></span>% of product revenue for the year ended December 31, 2022. One granting agency accounted
for <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--OneGrantingAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z0UiTEgdSQP8" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_OneGrantingAgencyMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16430">100</ix:nonFraction></span>% of grant revenue for the year ended December 31, 2023.</span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 43; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Three
customers accounted for more than <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z5HhCKDJFR9h" title="Concentration risk percentage"><span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zB4AiwtztUO5" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16431"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16432">10</ix:nonFraction></ix:nonFraction></span></span>% of accounts receivable at December 31, 2023 and 2022, respectively. These customers together accounted
for approximately <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcVLqDdo9Oll" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16433">97</ix:nonFraction></span>% and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zkFZiWlLg7dj" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16434">61</ix:nonFraction></span>% of accounts receivable at December 31, 2023 and 2022, respectively.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="ixv-6489"><p id="xdx_84D_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zrw0s1UYia53" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_869_z8xIJvrsmkqc">Recently
Issued Accounting Standards</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#8217;s financial statements upon adoption.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires an entity
to disclose annually additional information related to the company&#8217;s income tax rate reconciliation and income taxes paid during
the period. The guidance should be applied prospectively with the option to apply the standard retrospectively. The standard becomes
effective for the Company for full year 2025 reporting. The Company is currently evaluating the impact of this new standard on its consolidated
financial statements.</span></p>

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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock" id="ixv-6506"><p id="xdx_807_eus-gaap--CashCashEquivalentsAndMarketableSecuritiesTextBlock_ztCGiDmSwobd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3 &#8211; <span id="xdx_82A_zTS8GF19eHgb">Cash, Cash Equivalents, and Financial Instruments</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" id="ixv-6513"><p id="xdx_894_eus-gaap--ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_zf2SWnhlb8Q2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
following table shows the Company&#8217;s cash, cash equivalents, and marketable investment securities by significant investment category:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BF_zAp7Fx6s2PQb" style="display: none">Schedule
of Cash, Cash Equivalents and Marketable Investment Securities</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="22" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Adjusted Cost</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Allowance for Credit Losses</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Total Unrealized Gains / (Losses)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Fair Value</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Cash and Cash Equivalents</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Marketable Investment Securities</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zyKhFnLoh8sk" title="Adjusted Cost" style="width: 6%; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2023-12-31_us-gaap_CashMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16435">4,317,449</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zhOPuTS7j8Q9" title="Allowance for Credit Losses" style="width: 6%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0695">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z1bAV9MsJVW5" title="Total Unrealized Gains / (Losses)" style="width: 6%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0697">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zFUlnlSVvyHa" title="Fair Value" style="width: 6%; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2023-12-31_us-gaap_CashMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16436">4,317,449</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z6sPNc9ghZF7" title="Cash and Cash Equivalents" style="width: 6%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31_us-gaap_CashMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16437">4,317,449</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z4caqpTOlsdl" title="Marketable Securities" style="width: 6%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0703">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Level 1:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: 1.5pt">Money market funds</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQigIxvtBPr2" title="Adjusted Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16438">10,599,429</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zFvTgr3fpQpi" title="Allowance for Credit Losses" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0707">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zeRx2961HDUe" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0709">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2Awplb5xur4" title="Fair Value" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16439">10,599,429</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPG2uz7qKU2i" title="Cash and Cash Equivalents" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16440">10,599,429</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2CEHX9WVTBi" title="Marketable Securities" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0715">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Subtotal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z8MsH7FJB4F1" title="Adjusted Cost" style="text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16441">10,599,429</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--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDCybvPZbKZg" title="Allowance for Credit Losses" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0719">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zI6kRW8gay8" title="Total Unrealized Gains / (Losses)" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zSZeEsZDHRt9" title="Fair Value" style="text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16442">10,599,429</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_ziVoYlYntZZ5" title="Cash and Cash Equivalents" style="text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16443">10,599,429</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znhvsDsPJRIa" title="Marketable Securities" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0727">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Level 2:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-bottom: 1.5pt">U.S. treasury securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z6wSL9Oi8tDk" title="Adjusted Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16444">43,484,810</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zY2HPb3OtQVl" title="Allowance for Credit Losses" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0731">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQzPfEJSVL45" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-01-012023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16445">146,700</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zqMcVj29qUr9" title="Fair Value" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16446">43,631,510</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztqBYLr2UM12" title="Cash and Cash Equivalents" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0737">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zmLxRTTCyjN9" title="Marketable Securities" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16447">43,631,510</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Subtotal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z3wvWUnhWs49" title="Adjusted Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16448">43,484,810</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z59Pnf6zvaWi" title="Allowance for Credit Losses" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0743">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z5rLfnUkZxSb" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16449">146,700</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFISYI24g4Ie" title="Fair Value" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16450">43,631,510</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zEixkv8r9Ycd" title="Cash and Cash Equivalents" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zD9LwMZohJv4" title="Marketable Securities" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16451">43,631,510</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231_zLrJINOTLoOd" title="Adjusted Cost" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16452">58,401,688</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231_zGzTF26z7AU6" title="Allowance for Credit Losses" style="border-bottom: Black 2.5pt double; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231_zS3j87JMb4m7" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16453">146,700</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231_zI5OvNMEMvDk" title="Fair Value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16454">58,548,388</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231_zXitdTzEWve2" title="Cash and Cash Equivalents" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16455">14,916,878</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20231231_zSXid3gTMGNg" title="Marketable Securities" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16456">43,631,510</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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="22" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Adjusted Cost</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Allowance for Credit Losses</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total Unrealized Gains / (Losses)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Cash and Cash Equivalents</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Marketable Securities</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zI4dCS93maMj" title="Adjusted Cost" style="width: 6%; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2022-12-31_us-gaap_CashMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16457">12,834,444</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zCJAy9G0zf2l" title="Allowance for Credit Losses" style="width: 6%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0767">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z2C2ObFuuvl9" title="Total Unrealized Gains / (Losses)" style="width: 6%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0769">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zNpYN8nn1m5c" title="Fair Value" style="width: 6%; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2022-12-31_us-gaap_CashMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16458">12,834,444</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zii0bK5QlNt7" title="Cash and Cash Equivalents" style="width: 6%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31_us-gaap_CashMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16459">12,834,444</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zvkySZu6vrhf" title="Marketable Securities" style="width: 6%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0775">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Level 1:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: 1.5pt">Money market funds</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQvVNtk3OBf6" title="Adjusted Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16460">146,359</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zpvVRyC5wPWd" title="Allowance for Credit Losses" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0779">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDjhCvDQ6SNb" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0781">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zh3BtbfHrL53" title="Fair Value" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16461">146,359</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znkYPYX3eqFg" title="Cash and Cash Equivalents" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16462">146,359</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zOtfBq5D7oAk" title="Marketable Securities" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0787">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Subtotal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zj4OchRmM3qf" title="Adjusted Cost" style="text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16463">146,359</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--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6rCOpR22yte" title="Allowance for Credit Losses" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0791">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAvnoSf05ezl" title="Total Unrealized Gains / (Losses)" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0793">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zEs6ehGfSed1" title="Fair Value" style="text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16464">146,359</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zZlw9kRnGhnd" title="Cash and Cash Equivalents" style="text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16465">146,359</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--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPAygaqEHEe" title="Marketable Securities" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0799">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Level 2:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-bottom: 1.5pt">U.S. treasury securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zyCTeVMBWVAf" title="Adjusted Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16466">67,892,825</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zl4PJdTkDAqi" title="Allowance for Credit Losses" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0803">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zKVc2ulO4CX7" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-01-012022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16467">389,241</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zPl9Org36pVa" title="Fair Value" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16468">68,282,066</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z4SFbt6W5bsb" title="Cash and Cash Equivalents" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16469">9,993,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zHID2PIcIz59" title="Marketable Securities" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16470">58,289,066</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Subtotal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zb75OImgHOTc" title="Adjusted Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16471">67,892,825</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zS5wG8FmjNag" title="Allowance for Credit Losses" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0815">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztKMSOqkPDSl" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-01-012022-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16472">389,241</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zu5MUYAFkV3c" title="Fair Value" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16473">68,282,066</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFGipkhUkqV4" title="Cash and Cash Equivalents" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16474">9,993,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zkFsVRNF5g6h" title="Marketable Securities" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16475">58,289,066</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231_z5PC2dk9nySd" title="Adjusted Cost" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:TradingSecuritiesDebtAmortizedCost" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16476">80,873,628</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231_z17FziJpKEw9" title="Allowance for Credit Losses" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0827">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231_zGmNJIFDJBA" title="Total Unrealized Gains / (Losses)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16477">389,241</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--TradingSecurities_iI_c20221231_zdbiCRwmnFul" title="Fair Value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:TradingSecurities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16478">81,262,869</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231_zOKL2CFWJko" title="Cash and Cash Equivalents" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16479">22,973,803</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20221231_zwIKAQCrnwJ8" title="Marketable Securities" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16480">58,289,066</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Marketable
investment securities held as of December 31, 2023 mature over the next 12 months.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:FairValueDisclosuresTextBlock" id="ixv-7025"><p id="xdx_805_eus-gaap--FairValueDisclosuresTextBlock_zYu0wDeZgruf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4 &#8211; <span id="xdx_82A_ztvwdchIOVP8">Fair Value Measurements</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company measures and records certain financial assets and liabilities at fair value on a recurring basis. Fair value is based on the
price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants
at the measurement date.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following three levels of inputs are used to measure the fair value of financial assets and liabilities:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
1: Quoted market prices in active markets for identical assets or liabilities.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
3: Unobservable inputs that are not corroborated by market data.</span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 44; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->44<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="ixv-7063"><p id="xdx_89D_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zL5U1YlBX0ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and December
31, 2022, by level within the fair value hierarchy:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_z6moWAgDH4Ub" style="display: none">Schedule
of Fair Value Assets and Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAD4Mk0LEej4" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zXbLCtEqcWKi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_493_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zOM5iQdFZQF2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zn4HUiXQCbcg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2023</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zlvxtjm5Fa66" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left">Cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16481">13,806,864</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0842">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16482">13,806,864</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zamJqINEfQoh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Marketable securities (U.S. treasury bills and notes)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0846">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16483">43,631,510</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0848">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16484">43,631,510</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zMRUzmbtZUtc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</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:AssetsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16485">13,806,864</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:AssetsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16486">43,631,510</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"><span style="-sec-ix-hidden: xdx2ixbrl0853">-</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"><ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16487">57,438,374</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="padding-bottom: 1.5pt">Liabilities:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zir3FqVmEYq6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0856">-</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: xdx2ixbrl0857">-</span></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="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16488">1,318,995</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="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16489">1,318,995</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zrbcMERjNEKi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0861">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16490">320,780</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16491">320,780</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zGnyNofwXHDi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</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: xdx2ixbrl0866">-</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: xdx2ixbrl0867">-</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"><ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16492">1,639,775</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:LiabilitiesFairValueDisclosure" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16493">1,639,775</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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zbEAdaHhU5W1" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zcdPKOmcY4H7" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zWGVdzflhLGh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zsWk8KpZjKwl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#8239;Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2022</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zmi0iEtTmYt" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left">Cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16494">186,667</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16495">9,993,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0873">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16496">10,179,667</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zw3vz65zPQLb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Marketable securities (U.S. treasury bills and notes)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0876">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16497">58,289,066</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0878">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16498">58,289,066</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zAWuhb3z8p0i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</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:AssetsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16499">186,667</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:AssetsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16500">68,282,066</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"><span style="-sec-ix-hidden: xdx2ixbrl0883">-</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"><ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16501">68,468,733</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>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zg3l98euYy1k" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0886">-</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: xdx2ixbrl0887">-</span></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="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16502">2,499,147</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="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16503">2,499,147</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zQvlKUpIZKt3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0891">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16504">233,209</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16505">233,209</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zwLBc57WrGh9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</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: xdx2ixbrl0896">-</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: xdx2ixbrl0897">-</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"><ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16506">2,732,356</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:LiabilitiesFairValueDisclosure" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16507">2,732,356</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s financial instruments that are measured at fair value on a recurring basis consist of certificates of deposit and U.S.
treasury bills and notes as of December 31, 2023 and 2022, respectively.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with prior year acquisitions, the Company recorded a liability for contingent consideration in the form of shares of common
stock and warrants to purchase common stock, both to be issued when certain milestones are achieved. The fair value of contingent consideration is calculated using a discounted probability
weighted valuation model. Discount rates used in such calculations are a significant assumption that are not observed in the market,
and therefore, the resulting fair value represents a Level 3 measurement.</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" id="ixv-7459"><p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zpdn14zW2MP2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes for Level 3 items measured at fair value on a recurring basis are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zsYaPKpwD5v7" style="display: none">Schedule
of Changes in the Fair Value Measurement</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20230101__20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zr5JjQ86pSRk" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_pp0p0_zZ1kSkp0iIfl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%">Fair value as of December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16508">2,732,356</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_zg2Ux4C9pMl6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in fair value of contingent consideration issued for business acquisitions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="CODX:ContingentConsideredIssuedForBusinessAcquisitions" contextRef="From2023-01-012023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16509">1,092,581</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_zwkvocA8Y428" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Fair value as of December 31, 2023</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:BusinessCombinationContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16510">1,639,775</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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


<ix:exclude><!-- Field: Page; Sequence: 45; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->45<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the contingent consideration is based on the fair value of the contingent consideration-common stock and contingent consideration-warrants.
The fair value of the contingent consideration-common stock is equal to the probability-adjusted value of the Company&#8217;s common
stock as of the valuation date. The fair value of the contingent consideration-warrants is equal to the probability adjusted value of
a call option with terms consistent with the terms of the warrants as of the valuation date. Prior to the probability adjustments, the
warrants were valued based on the following inputs:</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" id="ixv-7508"><p id="xdx_89B_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zkO2Q6OwY5q3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zHGqSjQV5q98" style="display: none">Schedule
of Contingent Consideration Common Stock and Warrants</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zStncyLg47yj" title="Warrants measurement input" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2023-12-31_us-gaap_MeasurementInputSharePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure" id="ixv-16511">1.33</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_z0swE95w1H9" title="Warrants measurement input" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2022-12-31_us-gaap_MeasurementInputSharePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure" id="ixv-16512">2.52</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Strike price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zTFnRs86Dhhj" title="Warrants measurement input" style="text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2023-12-31_custom_MeasurementInputStrikePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure" id="ixv-16513">9.13</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zRCvyZlMmmjl" title="Warrants measurement input" style="text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2022-12-31_custom_MeasurementInputStrikePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure" id="ixv-16514">9.13</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zhPuszBpWHDj" title="Warrants measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2023-12-31_us-gaap_MeasurementInputPriceVolatilityMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16515">187.5</ix:nonFraction></span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90B_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zfX1ZfnF5Ckj" title="Warrants measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2022-12-31_us-gaap_MeasurementInputPriceVolatilityMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16516">75.0</ix:nonFraction></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_906_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zEctuVJ1CmXj" title="Warrants measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2023-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16517">4.0</ix:nonFraction></span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zr6wf5a4Igmg" title="Warrants measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2022-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16518">4.1</ix:nonFraction></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zYMEblibep7i" title="Expected term"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_MeasurementInputExpectedTermMember" format="ixt-sec:duryear" name="us-gaap:WarrantsAndRightsOutstandingTerm" id="ixv-16519">3.0</ix:nonNumeric></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 id="xdx_903_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20221231_zKpoVOMyV30e" title="Expected term"><ix:nonNumeric contextRef="AsOf2022-12-31" format="ixt-sec:duryear" name="us-gaap:WarrantsAndRightsOutstandingTerm" id="ixv-16520">4.0</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of Other Financial Instruments</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
carrying amounts of certain financial instruments, including cash held in banks, accounts receivable, notes receivable, accounts payable,
accrued liabilities, and other liabilities approximate fair value due to their short-term maturities and are excluded from the fair value
tables above.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="ixv-7589"><p id="xdx_803_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zF7iMDmjjqo2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5 &#8211; <span id="xdx_82D_zbzTrpmBu0Te">Property and Equipment</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="ixv-7596"><p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zXYwHEe5RVSc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment, net consisted of the following:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zywiablLOnG" style="display: none">Schedule
of Property and Equipment</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">Estimated</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Useful Lives in years</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 52%; text-align: left">Lab equipment</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zGxqoLjW4VI3" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16521">3</ix:nonNumeric></span> - <span id="xdx_908_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zLNxxFhxOGq1" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16522">5</ix:nonNumeric></span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUPXOFw2QSwj" title="Property and equipment, gross" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_EquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16523">4,545,908</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zAwUJlF0H237" title="Property and equipment, gross" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_EquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16524">3,574,730</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MinimumMember_zyunsAMj2tXb" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16525">0</ix:nonNumeric></span> - <span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MaximumMember_zJ3TYiInCpH3" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16526">5</ix:nonNumeric></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9zIE4oehgsf" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16527">548,648</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zSamhsnpEFpb" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16528">224,957</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">Office equipment, furniture and other</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zWFcdeJkHZmb" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16529">2</ix:nonNumeric></span> - <span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zXfCdGuk8rv9" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16530">5</ix:nonNumeric></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zocNuIBg9MKe" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16531">173,668</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--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCaOTZg8tjy6" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16532">112,044</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231_z127ILTGMTQ1" title="Less: accumulated depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16533">2,232,495</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231_zQZlDOWvZdU5" title="Less: accumulated depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16534">1,372,248</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Fixed assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20231231_ztivCfqqzfui" title="Property and equipment, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16535">3,035,729</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20221231_zMBAWVaG1Rj9" title="Property and equipment, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16536">2,539,483</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="ixv-7693"><p id="xdx_801_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zosDfEE6yfk3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6 &#8211; <span id="xdx_822_ziiMvMtwROY7">Goodwill and Intangible Assets</span></b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. The following table presents the changes in the carrying amount of goodwill:</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfGoodwillTextBlock" id="ixv-7710"><p id="xdx_89A_eus-gaap--ScheduleOfGoodwillTextBlock_zMSXnWtUBRL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zakdvgQ6JNq5" style="display: none">Schedule
of Goodwill</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--Goodwill_iS_c20220101__20221231_zLshZkDAeIl3" title="Goodwil - beginning" style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16537">14,706,818</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></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Measurement period adjustments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--GoodwillTranslationAndPurchaseAccountingAdjustments_c20220101__20221231_zzhAOlfUOJ57" title="Measurement period adjustments" style="text-align: right"><ix:nonFraction name="us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16538">681,728</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Goodwill impairment charges</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--GoodwillImpairmentLoss_iN_di_c20220101__20221231_zSLVI4bcl0Ha" title="Goodwill impairment charges" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:GoodwillImpairmentLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16539">15,388,546</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--Goodwill_iE_c20220101__20221231_zU11ntw81cp2" title="Goodwill - ending" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0977">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<ix:exclude><!-- Field: Page; Sequence: 46; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->46<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company assesses goodwill for impairment at the reporting unit level on an annual basis, or whenever events or changes in circumstances
occur that indicate that the fair value of a reporting unit is below its carrying amount. The Company estimates the fair value of its
reporting unit by using forecasts of discounted future cash flows and peer market multiples. If the fair value is less than the carrying
value, impairment will be recognized in the amount by which the carrying value exceeds the fair value. The Company performed a qualitative
and quantitative goodwill impairment assessment as of December 31, 2022. Based on the impairment assessment performed the Company concluded
that it was more likely than not that the fair value of the Company&#8217;s reporting unit was less than it&#8217;s carrying amount.
Accordingly, the Company recorded an impairment charge to reduce the carrying value of goodwill to $<span id="xdx_90E_eus-gaap--Goodwill_iI_dxL_c20231231_zbSdystRBq6h" title="Goodwill::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0979">0</span></span>.</span></p>

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

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="ixv-7778"><p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zauat8qW06m5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets, net consisted of the following:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8BC_zXZ3Q5rZhWVh" style="display: none">Schedule of Intangible Assets, Net</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="13" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: center">Weighted-Average</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Gross</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Net</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: center">Useful Life (1)</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Carrying</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">Accumulated</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">Carrying</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(in Years)</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_908_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_dtY_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zLheGfNdHHge" title="Estimated useful lives in years, term"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_InProcessResearchAndDevelopmentMember" id="Fact000983" name="CODX:IndefiniteLivedIntangibleAssetUsefulLife">Indefinite</ix:nonNumeric></span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zVC5LKGpAyDl" title="Intangible assets, gross" style="width: 12%; text-align: right">&#8239;<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16541">26,101,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_ziLm5n7gDTwe" title="Less accumulated amortization" style="width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0987">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zCx8GwOGFUxk" title="Intangible assets, net" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16542">26,101,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Non-competition agreements</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 1.5pt"><span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zgBVBhGivXYk" title="Estimated useful lives in years"><ix:nonNumeric contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt-sec:duryear" id="Fact000991" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">2.7</ix:nonNumeric></span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zDuuiueC5rR1" title="Intangible assets, gross" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16544">1,094,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z6jThQ8BXE1b" title="Less accumulated amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD" id="ixv-16545">791,333</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTX2zKfXOjVe" title="Intangible assets, net" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16546">302,667</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total intangible assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231_zubGR9UUbvr7" title="Intangible assets, gross" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16547">27,195,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 id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z91TgwPcDgR3" title="Less accumulated amortization" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD" id="ixv-16548">791,333</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 id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231_zrw4HFsg7md7" title="Intangible assets, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16549">26,403,667</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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="13" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2022</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td style="text-align: center; font-weight: bold">Weighted-Average</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Gross</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Net</td><td style="text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td style="text-align: center; font-weight: bold">Useful Life (1)</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Carrying</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Accumulated</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Carrying</td><td style="text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(in Years)</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Amount</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Amortization</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="text-align: center; width: 14%"><span id="xdx_90A_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zYPXy5TmZx9b" title="Estimated useful lives in years, term"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_InProcessResearchAndDevelopmentMember" id="Fact001005" name="CODX:IndefiniteLivedIntangibleAssetUsefulLife">Indefinite</ix:nonNumeric></span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_z1qa6pcFs49l" title="Intangible assets, gross" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16551">26,101,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zh59srlGc2bf" title="Less accumulated amortization" style="width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1009">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zsMF65ixGlAl" title="Intangible assets, net" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16552">26,101,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Non-competition agreements</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 1.5pt"><span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zzq6H5zPRuq1" title="Estimated useful lives in years"><ix:nonNumeric contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt-sec:duryear" id="Fact001013" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">2.7</ix:nonNumeric></span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z2AsePIY5Urb" title="Intangible assets, gross" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16554">1,094,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTs8mDjEKGSc" title="Less accumulated amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD" id="ixv-16555">426,667</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z3YcMGRmMUfk" title="Intangible assets, net" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16556">667,333</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total intangible assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231_zwo9QbRVJosc" title="Intangible assets, gross" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16557">27,195,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 id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zfB5TwEuoRb1" title="Less accumulated amortization" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD" id="ixv-16558">426,667</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 id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231_zxc7lPcwPBej" title="Intangible assets, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD" id="ixv-16559">26,768,333</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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span id="xdx_F08_zH4BFhvW9ERh" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td><td style="width: 5pt"/><td style="text-align: justify"><span id="xdx_F14_z4dE0MofHWg6" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:footnote id="Footnote001026" xml:lang="en-US">Based on weighted-average
useful life established as of the acquisition date.</ix:footnote></span></td>
</tr></table>

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


<ix:exclude><!-- Field: Page; Sequence: 47; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->47<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="ixv-8001"><p id="xdx_890_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zaE8evcFDARl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
expected future annual amortization expense of the Company&#8217;s intangible assets held as of December 31, 2023 is as follows:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zYBcEoGdBpAh" style="display: none">Schedule
of Future Amortization Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Year Ending December 31,</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20231231_zXPLBhQLYTo3" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization Expense</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zhEuoTYjemG6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%; text-align: left; padding-bottom: 1.5pt">2024</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16561">302,667</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zFaPLziAkOY3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16562">302,667</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="ixv-8030"><p id="xdx_802_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zrHeIEJpoYN6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7 - <span id="xdx_82D_zcEN2OAm9sHg">Accrued Expenses</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="ixv-8037"><p id="xdx_895_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZ4zZBkEIdya" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses consisted of the following:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8BC_zTi4zaMNbugi" style="display: none">Schedule of Accrued Expenses</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20231231_zPOtjbCLt9d9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20221231_zNbEbBM9JXm2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zECg7VTTj1K2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Payroll liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccruedPayrollTaxesCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16563">1,643,186</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccruedPayrollTaxesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16564">428,354</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zwgCRy2FgH83" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributor commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedSalesCommissionCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16565">9,958</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:AccruedSalesCommissionCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16566">159,725</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zfMF5tuApwZ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Other accrued liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16567">519,815</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16568">346,368</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AccruedLiabilitiesCurrent_iTI_mtALCzYz0_zRDUP72pL5z" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total accrued expenses</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:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16569">2,172,959</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:AccruedLiabilitiesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16570">934,447</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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

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

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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="ixv-8104"><p id="xdx_804_eus-gaap--RevenueFromContractWithCustomerTextBlock_z7CkjE3SZt6b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8 &#8211; <span id="xdx_824_zcTrMRPEwIM4">Revenue</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="ixv-8111"><p id="xdx_89A_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zupC7jpXe8h7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth revenue by geographic area:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zzWxNNvPMFJ9" style="display: none">Summary
of Revenue by Geographic Area</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zyi47Nz7UiW9" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20220101__20221231_zdLOvjPqxG8g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--ProductMember_zemyxUwKBni1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: left">Product revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-012023-12-31_country_US_us-gaap_ProductMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16571">659,618</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31_country_US_us-gaap_ProductMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16572">24,671,554</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--GrantMember_zKqqYV1aE4cb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-012023-12-31_country_US_us-gaap_GrantMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16573">5,820,565</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1058">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US_zO1f3fWGTcrj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Total United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-012023-12-31_country_US" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16574">6,480,183</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:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31_country_US" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16575">24,671,554</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">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--ProductMember_zzLxtCHY9NKa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Product revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_ProductMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16576">331,855</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:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_ProductMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16577">9,546,655</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--GrantMember_zTvW3CEGY0s8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1066">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1067">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember_z8HAUzRQGQO5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Total Rest of World</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16578">331,855</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16579">9,546,655</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zuTmQDEvzD8e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16580">6,812,038</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:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16581">34,218,209</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zGggZ7cE2p86" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Revenue geographic area</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:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16582">6,812,038</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:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16583">34,218,209</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Percentage of revenue by area:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zHTbr3pDetz5" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16584">95</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zrxidxiZeHkl" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16585">72</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJ1d3pz3Un74" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16586">5</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zBEs29JLtPr7" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16587">28</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  </table>

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

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="ixv-8280"><p id="xdx_898_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zU7KKb8sKMql" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in the Company&#8217;s deferred revenue balance for the year ended December 31, 2023 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zovZkE3c1Fw" style="display: none">Schedule
of Deferred Revenue</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--ContractWithCustomerLiability_iS_c20230101__20231231_zmSoc5Dfuauf" title="Deferred revenue, beginning balance" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1088">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 84%; text-align: left">Increase due to prepayments from customers</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20230101__20231231_zOs8v2Hdimai" title="Increase due to prepayments from customers" style="width: 12%; text-align: right"><ix:nonFraction name="CODX:IncreaseDueToPrepaymentsFromCustomers" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16588">32,570</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="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Increase due to grant funding awarded</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--IncreaseDueToPrepaymentsFromGrantsReceived_c20230101__20231231_zcPbvalpdOLk" title="Increase due to prepayments from grants received" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:IncreaseDueToPrepaymentsFromGrantsReceived" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16589">329,879</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;Balance as of December, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--ContractWithCustomerLiability_iE_c20230101__20231231_z1PVvhDdbVgl" title="Deferred revenue, ending balance" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16590">362,449</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:EarningsPerShareTextBlock" id="ixv-8319"><p id="xdx_804_eus-gaap--EarningsPerShareTextBlock_zrg3c72nRbdi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9 &#8211; <span id="xdx_82D_zLRsSbxjIvA2">Earnings per Share</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="ixv-8326"><p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zBnAhYFvRwW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B0_zRxOEGhS7lJc" style="display: none">Schedule
of Basis and Diluted Earnings Per Share</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20231231_zkTGrQnmJmI5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20221231_zW3rcj1aiZk6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Numerator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--NetIncomeLoss_zXyfgH1ZGbFi" style="vertical-align: bottom; background-color: White">
    <td style="width: 64%; text-align: left; padding-bottom: 2.5pt">Net loss, as reported</td><td style="width: 2%; 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="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16591">35,332,865</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">)</td><td style="width: 2%; 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="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16592">14,238,249</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--WeightedAverageNumberOfSharesOutstandingBasic_zEKiuQc8iNdf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares, basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16593">29,346,599</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16594">31,479,028</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_ziV2b9dLlmRd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Dilutive effect of stock options, warrants and RSUs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1106">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1107">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z3vBQYDwVA9b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Shares used to compute diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16595">29,346,599</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16596">31,479,028</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></tr>
  <tr id="xdx_405_eus-gaap--EarningsPerShareBasic_pid_zAz6l3VgZru" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16597">1.20</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:EarningsPerShareBasic" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16598">0.45</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zbSACQdXNU62" style="vertical-align: bottom; background-color: White">
    <td>Diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16599">1.20</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:EarningsPerShareDiluted" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares" id="ixv-16600">0.45</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  </table>

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

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


<ix:exclude><!-- Field: Page; Sequence: 48; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->48<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
computation of diluted earnings per share for the years ended December 31, 2023 and December 31, 2022 also excludes approximately <span id="xdx_902_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zU1fzCyvEQIi" title="Securities excluded from computation of diluted earnings per share"><span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zwdPyphmTuEk" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="Shares" id="ixv-16601"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="Shares" id="ixv-16602">1.4</ix:nonFraction></ix:nonFraction></span></span>
million shares of common stock and approximately <span id="xdx_908_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zIMzMwTpo5ml" title="Securities excluded from computation of diluted earnings per share"><span id="xdx_90F_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk3qo9d9GVZj" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16603"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16604">465,000</ix:nonFraction></ix:nonFraction></span></span> warrants to purchase shares of common stock that are contingent upon the achievement
of certain milestones.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
a result of incurring a net loss for the years ended December 31, 2023 and 2022, respectively, <span id="xdx_906_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pid_do_uShares_c20230101__20231231_zUL6jWzXFUD8" title="Securities excluded from computation of diluted earnings per share"><span id="xdx_907_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pid_do_uShares_c20220101__20221231_zyQgWGf3eDYf" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-01to2023-12-31" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares" id="ixv-16605"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-01-012022-12-31" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares" id="ixv-16606">no</ix:nonFraction></ix:nonFraction></span></span> potentially dilutive securities are
included in the calculation of diluted earnings per share because such effect would be anti-dilutive. The Company had potentially dilutive
securities as of December 31, 2023, consisting of: (i) <span id="xdx_906_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--RestrictedStockUnitsRSUMember_zozOQVh5Eekf" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16607">2,618,362</ix:nonFraction></span> restricted stock units and (ii) <span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--EmployeeStockOptionMember_zc5c2D7Q7Khk" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16608">512,112</ix:nonFraction></span> options, and potentially dilutive
securities as of December 31, 2022, consisting of: (i) <span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--RestrictedStockUnitsRSUMember_zkQvPqYwjCwl" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16609">1,443,238</ix:nonFraction></span> restricted stock units and (ii) <span id="xdx_90D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--EmployeeStockOptionMember_zXjnYuQuefcg" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16610">50,000</ix:nonFraction></span> options.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" id="ixv-8492"><p id="xdx_80C_eus-gaap--DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_zddNEZSoTIYf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10 &#8211; <span id="xdx_821_zA1Er1L9tLPh">Stock-Based Compensation</span></b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s board of directors adopted, and shareholders approved, the Co-Diagnostics, Inc. Amended and Restated 2015 Long Term Incentive
Plan (the &#8220;Incentive Plan&#8221;) providing for the issuance of stock-based incentive awards to employees, officers, consultants,
directors and independent contractors. On August 31, 2022 the shareholders approved an increase in the number of awards available for
issuance under the Incentive Plan to an aggregate of <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20220831__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zGpOm8JSGsEc" title="Number of common shares availalble for issuance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2022-08-31_custom_TwoThousandFifteenLongTermIncentivePlanMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16611">12,000,000</ix:nonFraction></span> shares of common stock. The number of awards available for issuance under
the Incentive Plan was <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20231231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zZyqkqWxtwM2" title="Number of common shares availalble for issuance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2023-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16612">4,357,937</ix:nonFraction></span> at December 31, 2023.</span></p>

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

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="ixv-8515"><p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zuL9fFVIgKtj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes option activity during the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zlcngleeUMH6" style="display: none">Schedule
of Option Activity</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Options</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Outstanding at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231_zfUUbIZb6CZe" title="Number of Options Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16613">1,111,363</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zvn4rcb8NKM8" title="Weighted Average Exercise Price Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16614">2.12</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231_zqQVU2UJMuwh" title="Weighted Average Fair Value Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16615">1.31</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20220101__20221231_zqPPnYJESQd4" title="Number of Options Outstanding, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1152">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zPdmlbpnJWHb" title="Weighted Average Exercise Price Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1154">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231_zyDPc4jJKU7i" title="Weighted Average Fair Value Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1156">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20221231_zGOrpNgCdSU9" title="Number of Options Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1158">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zbkzoEQ07O4i" title="Weighted Average Exercise Price Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1160">-</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--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20220101__20221231_zAKnE0zwjIvb" title="Weighted Average Fair Value Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1162">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20220101__20221231_zjqhxkLjfeDl" title="Number of Options Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1164">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231_z3Eme5Eyqx9c" title="Weighted Average Exercise Price Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1166">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20220101__20221231_zuSITH25j44" title="Weighted Average Fair Value Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1168">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20221231_zzmeq1JkAWSl" title="Number of Options Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16616">70,791</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCystanSzAW8" title="Weighted Average Exercise Price Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16617">1.10</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20220101__20221231_zod7otR9f0Bf" title="Weighted Average Fair Value Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16618">0.51</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231_zpmrcp3Wknya" title="Number of Options Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16619">1,040,572</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zHqTK3fA9WLf" title="Weighted Average Exercise Price Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16620">2.19</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_zEHLyj07cx13" title="Weighted Average Fair Value Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16621">1.37</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zxDJl2djPTNi" title="Weighted-average Remaining Contractual Life (years) Outstanding, Beginning"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="ixv-16622">5.88</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20230101__20231231_z7jBRtM9qKI1" title="Number of Options Outstanding, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1184">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231_z5JrsANdXSyf" title="Weighted Average Exercise Price Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1186">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231_z0k4KdxUauCl" title="Weighted Average Fair Value Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1188">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20231231_zEBykw0yCVV6" title="Number of Options Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1190">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zzmsaRODlyu3" title="Weighted Average Exercise Price Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1192">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20230101__20231231_zFXvDXYu5Ip7" title="Weighted Average Fair Value Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1194">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230101__20231231_zwBClPZLnujl" title="Number of Options Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1196">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20230101__20231231_zd1Ng1zEiwe7" title="Weighted Average Exercise Price Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1198">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20230101__20231231_zTFUmkXTtr18" title="Weighted Average Fair Value Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1200">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230101__20231231_zuMbactPfx61" title="Number of Options Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1202">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zkYPXudxeDm9" title="Weighted Average Exercise Price Exercised" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1204">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20230101__20231231_zdupCWD85E8i" title="Weighted Average Fair Value Exercised" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1206">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231_zYM2YU3MUxD7" title="Number of Options Outstanding, Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16623">1,040,572</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zIDt2NTJUBn7" title="Weighted Average Exercise Price Outstanding, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16624">2.19</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_ziwQBOBnhHK2" title="Weighted Average Fair Value Outstanding, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16625">1.37</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right"><span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_dtY_c20230101__20231231_zH2CZFgc5bFh" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" id="ixv-16626">4.89</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230101__20231231_zWxTFnPWLR9a" title="Number of Options Exercisable Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16627">1,040,572</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20230101__20231231_ztiSRsau4fnf" title="Weighted Average Exercise Price, Exercisable Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16628">2.19</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_988_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20230101__20231231_zGg4yFlGWn5b" title="Weighted Average Fair Value, Exercisable Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16629">1.37</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right"><span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_zDZT3VkMjSG3" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="ixv-16630">4.89</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_zVxZ0eHsNUU" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 49; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->49<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total intrinsic value of options exercised during the years ended December 31, 2023 and 2022, respectively, was $<span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_c20230101__20231231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zswDQsbb6x6k" title="Intrinsic value of options value exercised"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="From2023-01-012023-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16631">0</ix:nonFraction></span> and approximately
$<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20220101__20221231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zVF7aAXgt5D8" title="Intrinsic value of options value exercised"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="From2022-01-012022-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16632">0.4</ix:nonFraction></span> million. The aggregate intrinsic value of outstanding options at December 31, 2023 and 2022 was approximately $<span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20231231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zTMCy2Bvy5xb" title="Aggregate intrinsic value of outstanding options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2023-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16633">0.2</ix:nonFraction></span> million and $<span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20221231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zLOb8IDHM4fb" title="Aggregate intrinsic value of outstanding options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2022-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16634">0.8</ix:nonFraction></span>
million, respectively. As of December 31, 2023, there were no unvested options and no unrecognized stock-based compensation expense related
to options.</span></p>

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

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="ixv-8821"><p id="xdx_894_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zqh50fdtRDh4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#8217;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_znMvlWauzPkb" style="display: none">Schedule
of Outstanding Restricted Stock Units and Related Party</span></span></span></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="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of RSUs</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Average Grant Date Fair Value</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Unvested at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhd76MDGHSnb" title="Number of Restricted Stock Units, Outstanding Beginning" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16635">1,267,415</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zLTJ6FWkNsja" title="Weighted Average Grant Date Fair Value, Outstanding Beginning" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16636">9.94</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcqy0nS3PIU6" title="Number of Restricted Stock Units, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16637">1,925,476</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhGsGOt2miVh" title="Weighted Average Grant Date Fair Value, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16638">5.66</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKLpNaSAY3e7" title="Number of Restricted Stock Units, Vested" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16639">725,166</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zT4XLEetUTSg" title="Weighted Average Grant Date Fair Value, Vested" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16640">8.66</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zp8kIohbFj32" title="Number of Restricted Stock Units, Forfeited/Cancelled" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16641">41,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXAaNI3RYfy9" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16642">8.31</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Unvested at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvh3M2dVg7E6" title="Number of Restricted Stock Units, Outstanding Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16643">2,426,725</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zC9DruVIeOS5" title="Weighted Average Grant Date Fair Value, Outstanding Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16644">6.95</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2CU1ssMzSa8" title="Number of Restricted Stock Units, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16645">1,948,750</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHlTRHZzhzof" title="Weighted Average Grant Date Fair Value, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16646">1.92</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zxmXkor33Gc1" title="Number of Restricted Stock Units, Vested" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16647">1,354,081</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z3EKlGRt0cI3" title="Weighted Average Grant Date Fair Value, Vested" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16648">6.17</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zDBdSdiacP7b" title="Number of Restricted Stock Units, Forfeited/Cancelled" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16649">95,897</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztIe6HJpuF21" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16650">6.16</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Unvested at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9SK3v3Suf97" title="Number of Restricted Stock Units, Outstanding Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16651">2,925,497</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zY7bM55B1Gc3" title="Weighted Average Grant Date Fair Value, Outstanding Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16652">3.99</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, there was $<span id="xdx_905_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pn5n6_c20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zIvtFoGByBmh" title="Unrecognized stock-based compensation"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16653">9.5</ix:nonFraction></span> million of unrecognized stock-based compensation expense related to outstanding RSUs which is expected
to be recognized over a weighted-average period of <span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkS3s90LAnuj" title="Weighted average period"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="ixv-16654">1.7</ix:nonNumeric></span> years.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has issued warrants related to financings, acquisitions and as compensation to third parties for services provided. The Company
estimates the fair value of issued warrants on the date of issuance as determined using a Black-Scholes pricing model. The Company amortizes
the fair value of issued warrants using a vesting schedule based on the terms and conditions of each warrant if granted for services.</span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 50; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->50<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" id="ixv-8961"><p id="xdx_891_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zGm6iFaGPpqf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes warrant activity during the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zcp14VjSddQa" style="display: none">Schedule
of Warrant Activity</span></span></span></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="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Warrants</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted Average Exercise</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Outstanding at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20220101__20221231_zts8Zk16Tuej" title="Number of Warrants Outstanding, Beginning" style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16655">526,281</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zTJi4Xoe47ra" title="Weighted Average Exercise Price, Beginning" style="width: 11%; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16656">8.15</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20220101__20221231_zbfgcM7p4c3b" title="Weighted Average fair value, Beginning" style="width: 11%; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16657">4.01</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 11%; text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231_zSqLJooZvGxg" title="Weighted-average Remaining Contractual Life (Years) Outstanding"><ix:nonNumeric contextRef="From2022-01-012022-12-31" format="ixt-sec:duryear" name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" id="ixv-16658">4.7</ix:nonNumeric></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Issued for adjustments to contingent purchase consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_c20220101__20221231_zwlGyYXTBMbh" title="Number of Warrants Outstanding, Issued" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16659">8,719</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCVjHaZyPha8" title="Weighted Average Exercise Price, Issued" style="text-align: right"><ix:nonFraction name="CODX:IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16660">9.13</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zuN0HNtpr0bi" title="Weighted Average Fair Value, Issued" style="text-align: right"><ix:nonFraction name="CODX:IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16661">1.88</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">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20220101__20221231_zuToqGPFDhKk" title="Number of Warrants Outstanding, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1290">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zg2Vh5gR2B2e" title="Weighted Average Exercise Price, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1292">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zc4J1e9iuEe7" title="Weighted Average Fair Value, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1294">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20220101__20221231_zur5hyRwHMPi" title="Number of Warrants Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1296">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_znOf6WpWCH0b" title="Weighted Average Exercise Price, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1298">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zkmI5Punj23k" title="Weighted Average Fair Value, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1300">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20220101__20221231_zntU1523wll8" title="Number of Warrants Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1302">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zQ8mOH6EoWD" title="Weighted Average Exercise Price, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1304">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_z9sLoh8Gasf4" title="Weighted Average Fair Value, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1306">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20220101__20221231_zBFMww47hEc7" title="Number of Warrants Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16662">50,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zajl4XfThVN" title="Weighted Average Exercise Price, Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16663">2.00</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zV6Mtk1w38e3" title="Weighted Average Fair Value, Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16664">1.22</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20230101__20231231_zgXHOXuQKjda" title="Number of Warrants Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16665">485,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zZlM3gjskajf" title="Weighted Average Exercise Price, Beginning" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16666">8.81</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20230101__20231231_zgqbwohPfy2b" title="Weighted Average fair value, Beginning" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16667">2.43</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_903_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20220101__20221231_z0l309U0q73e" title="Weighted-average Remaining Contractual Life (Years) Outstanding"><ix:nonNumeric contextRef="From2022-01-012022-12-31" format="ixt-sec:duryear" name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" id="ixv-16668">4.0</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20230101__20231231_zYE7CYTTKCs" title="Number of Warrants Outstanding, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1322">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z09dle1R83N" title="Weighted Average Exercise Price, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1324">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z54PFd9khL2c" title="Weighted Average Fair Value, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1326">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20230101__20231231_z4hsN4cLXEH3" title="Number of Warrants Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1328">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z5pAabUvms8i" title="Weighted Average Exercise Price, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1330">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zCwoOsxUmgsd" title="Weighted Average Fair Value, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1332">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20230101__20231231_zPUZaojQHJfh" title="Number of Warrants Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1334">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z7eCJIoo29h" title="Weighted Average Exercise Price, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1336">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zkxsIC1cMgFd" title="Weighted Average Fair Value, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1338">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20230101__20231231_z4KtW0LAFfHb" title="Number of Warrants Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1340">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zz8fLqqFJv1g" title="Weighted Average Exercise Price, Exercised" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1342">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z6cx87XDrqI5" title="Weighted Average Fair Value, Exercised" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1344">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20230101__20231231_zcufPtvEXGQ2" title="Number of Warrants Outstanding, Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16669">485,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="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zrXZ2sMlFMbb" title="Weighted Average Exercise Price, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16670">8.81</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_989_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231_zEdQaU1OIxId" title="Weighted Average Fair Value, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares" id="ixv-16671">1.29</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right"><span id="xdx_90C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20230101__20231231_zi3KSB7ddt5k" title="Weighted-average Remaining Contractual Life (Years) Outstanding"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:duryear" name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" id="ixv-16672">3.0</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
intrinsic value of warrants exercised during the years ended December 31, 2023 and 2022, respectively, was $<span id="xdx_901_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zL7V1tWcWh1h" title="Intrinsic value of warrants exercised"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16673">0</ix:nonFraction></span> and approximately $<span id="xdx_901_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z7DysL26ij1l" title="Intrinsic value of warrants exercised"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16674">0.3</ix:nonFraction></span>
million. The aggregate intrinsic value of outstanding warrants at December 31, 2023 was approximately $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmrzBGwUlqf1" title="Aggregate intrinsic value of options outstanding"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16675">0</ix:nonFraction></span>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total number of warrants exercisable at December 31, 2023 is <span id="xdx_909_ecustom--ClassOfWarrantExercisable_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zBSJjAJbzirl" title="Warrants exercisable"><ix:nonFraction name="CODX:ClassOfWarrantExercisable" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16676">20,000</ix:nonFraction></span>. The ability to exercise the approximately <span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231_z4iqe068wFnc" title="Warrants purchase"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16677">465,000</ix:nonFraction></span> warrants issued
in connection with acquisitions in prior years is contingent upon the achievement of certain development and revenue milestones on or
before January 1, 2027. There was no unrecognized stock-based compensation expense related to warrants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock-Based
Compensation Expense</b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock" id="ixv-9245"><p id="xdx_891_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zG1ZO3xHtDAk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognized stock-based compensation expense as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zqqGf0Cvi5Ak" style="display: none">Schedule
of Recognized Stock-based Compensation Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zUyU6PXatIVi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220101__20221231_zVwz74A60Wr7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zsZdlhB6NyQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Cost of sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-12-31_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16678">46,586</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-12-31_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16679">63,058</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingAndMarketingExpenseMember_zB8zZJvF8PU7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-12-31_us-gaap_SellingAndMarketingExpenseMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16680">2,153,974</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:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-12-31_us-gaap_SellingAndMarketingExpenseMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16681">1,866,116</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--GeneralAndAdministrativeExpenseMember_zDaT9YBOZd1e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-12-31_us-gaap_GeneralAndAdministrativeExpenseMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16682">4,933,822</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:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-12-31_us-gaap_GeneralAndAdministrativeExpenseMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16683">4,050,967</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--ResearchAndDevelopmentExpenseMember_zlSekZuMCO85" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Research and development</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-12-31_us-gaap_ResearchAndDevelopmentExpenseMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16684">1,202,473</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-12-31_us-gaap_ResearchAndDevelopmentExpenseMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16685">1,563,082</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_ze6lQOV68Zvl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total stock-based compensation expense</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:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16686">8,336,855</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:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16687">7,543,223</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:IncomeTaxDisclosureTextBlock" id="ixv-9327"><p id="xdx_801_eus-gaap--IncomeTaxDisclosureTextBlock_zUStweFEGuw" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11 &#8211; <span id="xdx_824_zTHtL1ZUGKZa">Income Taxes</span></b></span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="ixv-9334"><p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z1fucJCdJeIg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the provision (benefit) for income taxes consists of the following for the years ended December 31, 2023 and
2022:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zGUo5PTFh062" style="display: none">Schedule
of Components Income Tax Provision</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zAGMBfigON3k" style="border-bottom: Black 1.5pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023
</b></span></td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220101__20221231_zhzqXw1db6ii" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#8239;2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023
</b></span></td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zybAmLA9ssE" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Current:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zhq4Xo6ByWB7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%">Federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16688">84,435</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16689">563,821</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zXB9xEMWmp96" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16690">540,240</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16691">266,248</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zI4GaPh2vRYc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total current</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16692">455,805</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16693">297,573</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zRI4DHI8AHzf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Deferred:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zPcsRrn0OBx9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16694">7,228,611</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:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16695">3,945,090</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zGRTr3UemzFh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">State</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16696">2,068,509</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:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16697">961,468</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--ChangeInValuationAllowance_i01N_di_msDFSALzIK4_zYP5ml5iShba" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:ChangeInValuationAllowance" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16698">6,975,234</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1407">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_maITEBzvit_mtDFSALzIK4_zyomCHjiWSF2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16699">2,321,886</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16700">4,906,558</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zGMPxeosbt8a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income tax benefit</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:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16701">2,777,691</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:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD" id="ixv-16702">4,608,985</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

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

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

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

<ix:exclude><!-- Field: Page; Sequence: 51; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->51<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="ixv-9487"><p id="xdx_89F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zxcxpYpE47p3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zO6sMCjuwaDj" style="display: none">Schedule
of Benefit from Income Taxes and Effective Tax Rates</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20230101__20231231_ztZOtJBM72Rh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231_zwqiPSCSGYjh" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_maITEBzvik_zzNHpzp5iq8j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Federal income tax expense at statutory rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16703">21.0</ix:nonFraction></td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16704">21.0</ix:nonFraction></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr id="xdx_404_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_maITEBzvik_zmyy9gFPl6G2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State income tax expense, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16705">1.6</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:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16706">4.8</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zpAP1FakDqz" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Permanent differences:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--EffectiveIncomeTaxRateReconciliationFdiiPercent_i01_dp_uPure_maITEBzvik_zZgGUczgO9M6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Foreign derived intangible income deduction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16707">0.0</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:EffectiveIncomeTaxRateReconciliationFdiiPercent" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16708">1.4</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01N_dpi_uPure_msITEBzvik_zffnXSrvG5Cb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">- Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16709">3.5</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16710">3.6</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_402_ecustom--EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_i01_dp_uPure_maITEBzvik_zklfDefw9R3h" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Contingent consideration remeasurement</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16711">0.6</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="CODX:EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16712">8.8</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_400_ecustom--EffectiveIncomeTaxRateReconciliationGoodwillImpairment_i01_dp_uPure_msITEBzvik_zS63YRrHg9Gg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">- Goodwill impairment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationGoodwillImpairment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16713">0.0</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="CODX:EffectiveIncomeTaxRateReconciliationGoodwillImpairment" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16714">17.1</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_406_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_msITEBzvik_z8AN4aXJUDs3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Other permanent differences</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16715">0.2</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16716">0.6</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_maITEBzvik_zo24qT8qXmr2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16717">4.6</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:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16718">11.1</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_408_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_iN_dpi_uPure_maITEBzvik_zut6jHrkWaPd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Change in uncertain tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16719">1.2</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-<ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16720">2.1</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_iN_dpi_uPure_msITEBzvik_zKB0zQ4ivcag" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Change in valuation allowance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16721">18.3</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:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure" id="ixv-16722">0.0</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_maITEBzvik_z4gQRDcEgbxl" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16723">0.3</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">%</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16724">0.8</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_iT_dp_uPure_mtITEBzvik_zG6dCIgu0Gl5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective income tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16725">7.3</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16726">24.5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="ixv-9650"><p id="xdx_896_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zO89HrkwR5tf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
deferred tax liabilities consist of the following components as of December 31, 2023 and 2022:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zLjlQPnK81x7" style="display: none">Schedule
of Deferred Tax Assets and Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zphkmz9IKATf" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20221231_zDhAvm69WjHk" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zyrkMYjgTq77" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax 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_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zcAFGCS7EKpb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16727">58,158</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16728">98,141</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_z1VFwT9JaNwl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reserves and allowances</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16729">734,631</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:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16730">765,004</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zKiMkMKh3L93" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16731">620,551</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:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16732">566,076</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--DeferredTaxAssetsCosts_i01I_maDTAGzwm0_zmvgCpdFZSih" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Section 174 costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:DeferredTaxAssetsCosts" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16733">7,337,629</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="CODX:DeferredTaxAssetsCosts" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16734">3,460,159</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--DeferredTaxAssetsLeaseLiability_i01I_maDTAGzwm0_zgXqPbQiYqw" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:DeferredTaxAssetsLeaseLiability" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16735">742,131</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="CODX:DeferredTaxAssetsLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16736">85,899</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--DeferredTaxAssetsUniformCapitalization_i01I_maDTAGzwm0_zFMHKcPhXC11" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">UNICAP</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:DeferredTaxAssetsUniformCapitalization" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16737">43,943</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="CODX:DeferredTaxAssetsUniformCapitalization" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16738">168,936</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_i01I_maDTAGzwm0_zFltnaBLECla" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Net operating loss carryforwards</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16739">4,040,601</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: xdx2ixbrl1480">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_i01I_maDTAGzwm0_z5k9EHYPSkii" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Research and development credits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16740">1,688,255</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1483">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_maDTAOzex8_maDTANz2N2_z86vPnRPaNhk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Total gross deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16741">15,265,899</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:DeferredTaxAssetsGross" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16742">5,144,215</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsValuationAllowance_i01NI_di_msDTANz2N2_zsT9lRuMgstb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16743">6,938,829</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1489">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxAssetsNet_i01TI_mtDTANz2N2_maDTALNzo3m_zibIiutP85Ve" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16744">8,327,070</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16745">5,144,215</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zchtSvz00Mo8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax 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_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzTlQ_z0XlaYHQrKNk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">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:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16746">672,416</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:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16747">609,261</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzTlQ_zQxlvov5S3Hf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangibles, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16748">6,552,255</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:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16749">6,608,914</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzTlQ_zsbmYNBtIL37" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Prepaids</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16750">329,768</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:DeferredTaxLiabilitiesPrepaidExpenses" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16751">156,053</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--DeferredTaxLiabilitiesRightOfUseAsset_i01NI_di_maDITLzTlQ_zHhf1Xg0KWYf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Right of use asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="CODX:DeferredTaxLiabilitiesRightOfUseAsset" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16752">736,226</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="CODX:DeferredTaxLiabilitiesRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16753">91,873</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesOtherComprehensiveIncome_i01NI_di_maDITLzTlQ_zfpTpXjKjEse" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Other comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOtherComprehensiveIncome" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16754">36,405</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:DeferredTaxLiabilitiesOtherComprehensiveIncome" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16755">96,101</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzTlQ_zm104iL3ZuY9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1512">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1513">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_msDTAOzex8_mtDITLzTlQ_msDTALNzo3m_zHNPxPzrBNn9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16756">8,327,070</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16757">7,562,202</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredTaxAssetsLiabilitiesNet_i01NTI_di_msDTAOzex8_mtDTALNzo3m_zhCIzb3DHAo7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax liability</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: xdx2ixbrl1518">-</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">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16758">2,417,987</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">At
December 31, 2023, the Company had federal net operating loss carryforwards of $<span id="xdx_90B_eus-gaap--OperatingLossCarryforwards_iI_pn5n6_c20231231_zjNabjX1kw4g" title="Net operating loss carry-forwards"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16759">16.3</ix:nonFraction></span> million and federal research and development credit
carryforwards of $<span id="xdx_90C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_iI_pn5n6_c20231231_zs2VE6DnZ3Ia" title="Research and development credit carry forwards"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16760">1.4</ix:nonFraction></span> million. At December 31, 2023, the Company had state net operating loss carryforwards of $<span id="xdx_90C_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_iI_pn5n6_c20231231_z22YidQyzPkf" title="State net operating loss carryforwards"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16761">16.9</ix:nonFraction></span> million and $<span id="xdx_907_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwards_iI_pn5n6_c20231231_zamEApM84vDf" title="State research and development credit carryforwards"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16762">0.8</ix:nonFraction></span>
million of state research and development credit carryforwards. If unused, the state research credit carryforward will expire in 2037.</span></p>

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


<ix:exclude><!-- Field: Page; Sequence: 52; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->52<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">ASC
Topic 740-10-05 requires that the impact of a tax position be recognized in the financial statements if that position is more likely
than not of being sustained on audit, based on the technical merits of the position. Our unrecognized tax benefit balances included $<span id="xdx_906_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20231231_zYlogxS4pcrj" title="Unrecognized tax benefits that would impact effective tax rate"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16763">1,078,431</ix:nonFraction></span>
at December 31, 2023 and $<span id="xdx_90D_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20221231_ztpTSPsyO3sf" title="Unrecognized tax benefits that would impact effective tax rate"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16764">1,469,577</ix:nonFraction></span> at December 31, 2022 of tax positions that, if recognized, would impact our effective tax rate. The
Company expects no material changes to the liability for unrecognized tax benefits in the next 12 months. Interest and penalties associated
with uncertain tax positions are recorded as a component of income tax expense. A reconciliation of the beginning and ending amount of
unrecognized benefits is as follows:</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="ixv-9936"><p id="xdx_896_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_zxL0D0hUgfm3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_z94xsNZDuCDj" style="display: none">Schedule
of Unrecognized Tax Benefits</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Unrecognized tax benefits at the beginning of the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20230101__20231231_zdb7ekkbKvv4" title="Unrecognized tax benefits at the beginning of the year" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16765">1,469,577</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefits_iS_c20220101__20221231_z0bEfHo7DTvh" title="Unrecognized tax benefits at the beginning of the year" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16766">1,067,853</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross increases - current year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20230101__20231231_ziFjioiNamth" title="Gross increases- current year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16767">273,569</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20220101__20221231_zJy7yfC8d8T6" title="Gross increases- current year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16768">1,045,590</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">Gross increases - prior year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20230101__20231231_zpCA93p4lOCc" title="Gross increases- prior year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16769">66,127</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20220101__20221231_zbszH0jjCNVj" title="Gross increases- prior year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16770">34,035</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Gross decreases - prior year tax positions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20230101__20231231_zpOSP1vOP26i" title="Gross decreases - prior year tax positions" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16771">730,842</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20220101__20221231_zStbaXY7KNU9" title="Gross decreases - prior year tax positions" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" contextRef="From2022-01-012022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16772">677,901</ix:nonFraction></td><td style="padding-bottom: 1.5pt; 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">Unrecognized tax benefits at end of year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20230101__20231231_z8ToZwoVZqVa" title="Unrecognized tax benefits at end of year" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16773">1,078,431</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--UnrecognizedTaxBenefits_iE_c20220101__20221231_zyIeJ6lZ3HC6" title="Unrecognized tax benefits at end of year" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16774">1,469,577</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; 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">Interest and penalties in year-end balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20230101__20231231_zqAmheii70p6" title="Interest and penalties in year-end balance" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16775">100,162</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20220101__20221231_ze0CB93QBrS9" title="Interest and penalties in year-end balance" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16776">34,035</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is subject to taxation in the United States and other state jurisdictions. The tax years from December 31, 2020 through December
31, 2023 remain open to examination for federal income tax purposes and by the other major taxing jurisdictions to which the Company
is subject. The Company is not currently under examination by any taxing authority.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="ixv-10035"><p id="xdx_804_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zJ7M0KreUDnf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
12 &#8211; <span id="xdx_82C_z2r1SbGE2A7l">Commitments and Contingencies</span></b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company leases administrative, R&amp;D, sales and marketing and manufacturing facilities under non-cancellable operating leases and leases
cancellable with one month notice. The Company expenses the cancelable leases in the period incurred in accordance with the practical
expedient elected. During the year December 31, 2023, the Company amended two operating leases to extend the lease term and entered into
two new operating leases. As a result, the Company recognized additional operating lease liabilities and corresponding operating right-of-use
assets of $<span id="xdx_909_eus-gaap--OperatingLeaseLiability_iI_c20231231__us-gaap--TypeOfArrangementAxis__custom--LeaseAmendmentMember_zM9FhLvg21rj" title="Operating lease liabilities"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31_custom_LeaseAmendmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16777">3,203,146</ix:nonFraction></span>.</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:LeaseCostTableTextBlock" id="ixv-10052"><p id="xdx_89B_eus-gaap--LeaseCostTableTextBlock_z3oEwbNbiydc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the year ended December 31, 2023, components of lease expense are summarized as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zJQLFyzBoWNj" style="display: none">Schedule
of Lease Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_zYmZZ6quuVJg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ended</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31, 2023</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseCost_maLCz2lp_zKp27a95f3Jd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">Operating lease costs</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16778">813,743</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ShortTermLeaseCost_maLCz2lp_zhFCsRb3Oxyj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Short-term lease costs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16779">198,261</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LeaseCost_iT_mtLCz2lp_zBSkHO5SgUme" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease costs</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LeaseCost" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16780">1,012,004</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="ixv-10089"><p id="xdx_891_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ztC73cIxjxT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, the maturities of the Company&#8217;s lease liabilities are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B2_zozi1g7pylXl" style="display: none">Schedule
of Maturities on Company Lease Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zNrFQm09Gkqj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ending</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31,</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz8za_zdd2Ln1JJ3Uj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16781">996,676</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz8za_zRgaTmUgQgm" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16782">1,018,383</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPz8za_ziVVgwtDYM4c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16783">714,630</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maLOLLPz8za_zgJR8iQWFC4l" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16784">300,591</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_maLOLLPz8za_zCEePENNGnh6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Thereafter</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16785">308,462</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz8za_zFPsdrvcBO6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16786">3,338,742</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iI_zklZpvMvOMAg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16787">348,175</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zjlC42Y6eqP2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Present value of operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16788">2,990,567</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_ziw2bZVkVHcb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16789">838,387</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zvCXYXAPKrz4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16790">2,152,180</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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


<ix:exclude><!-- Field: Page; Sequence: 53; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->53<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="CODX:ScheduleOfOperatingLeaseTableTextBlock" id="ixv-10179"><p id="xdx_89C_ecustom--ScheduleOfOperatingLeaseTableTextBlock_zSn9SesXmzPc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
information related to operating leases was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B0_zMwcrWIxhLU2" style="display: none">Schedule
of Other Information Related to Operating Lease</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20231231_z6PZSwsWD1h5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ended</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31, 2023</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeasePayments_zkIi4uqaEhp6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">Cash paid for operating leases included in operating cash flows</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD" id="ixv-16791">954,013</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Remaining lease term of operating leases</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmHzsa18Ecaa" title="Remaining lease term of operating leases"><ix:nonNumeric contextRef="AsOf2023-12-31" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="ixv-16792">3.7</ix:nonNumeric></span> years </span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Discount rate of operating leases</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20231231_zm4Zwyhl4bT9" title="Discount rate of operating leases" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure" id="ixv-16793">6.2</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  </table>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Liabilities
for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable
that a liability has been incurred and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies
are expensed as incurred.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is a defendant in two class action claims and three derivative actions claiming that the Company promulgated false and misleading
press releases to increase the price of our stock to improperly benefit the officers and directors of the Company. The plaintiffs demand
compensatory damages sustained as a result of the Company&#8217;s alleged wrongdoing in an amount to be proven at trial. The Company
is also a party to two civil actions, one in the US and the other in the United Kingdom. Each of the civil actions is based on breach
of contract claims against the Company. The Company believes these lawsuits are without merit and intends to defend the cases vigorously.
The Company is unable to estimate a range of loss, if any, that could result were there to be an adverse final decision in these cases.
As of the date of this report, the Company does not believe it is probable that these cases will result in an unfavorable outcome; however,
if an unfavorable outcome were to occur in these cases, it is possible that the impact could be material to the Company&#8217;s results
of operations in the period(s) in which any such outcome becomes probable and estimable.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="ixv-10229"><p id="xdx_80E_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z5dd6gga9NL8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
13 &#8211; <span id="xdx_829_zFXII1MKLcB8">Share Repurchase Program</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2022, the Company&#8217;s board of directors authorized a share repurchase program that would allow the Company to repurchase up
to $<span id="xdx_909_eus-gaap--StockRepurchaseProgramAuthorizedAmount1_iI_pn5n6_c20220331_zzQproajo8Xc" title="Stock repurchase program authorized amount"><ix:nonFraction name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" contextRef="AsOf2022-03-31" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16794">30.0</ix:nonFraction></span> million of CODX common stock. The repurchase program does not obligate the Company to acquire any particular number of common
shares, and the repurchase program may be suspended or discontinued at any time at the Company&#8217;s discretion. The timing and amount
of any share repurchases under the share repurchase program will be determined by Co-Diagnostics&#8217; management at its discretion
based on ongoing assessments of the capital needs of the business, the market price of the Company&#8217;s common stock, corporate and
regulatory requirements, and general market conditions.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
accounting purposes, common stock repurchased under the stock repurchase program is recorded based upon the transaction date of the applicable
trade. Such repurchased shares are held in treasury and are presented using the cost method. These shares are not retired and are considered
issued but not outstanding. The following table shows the changes in treasury stock for the periods presented:</span></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="CODX:ScheduleOfTreasuryStockTableTextBlock" id="ixv-10244"><p id="xdx_897_ecustom--ScheduleOfTreasuryStockTableTextBlock_zv5SP60yESWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zWSnzLoHAf13" style="display: none">Schedule
of Treasury Stock</span></span></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%">
  <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">Year Ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%">Balance, beginning of period</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--TreasuryStockCommonShares_iS_pid_d0_c20230101__20231231_z1mksBDxzqM7" title="Treasury stock, Beginning Balance" style="width: 18%; text-align: right"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16795">3,881,658</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Repurchases of common stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--RepurchasesOfCommonStock_c20230101__20231231_zGoX2iqdpjX8" title="Repurchases of common stock" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:RepurchasesOfCommonStock" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16796">967,020</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Balance, end of period</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--TreasuryStockCommonShares_iE_pid_c20230101__20231231_zthDkbmnOdma" title="Treasury stock, Ending Balance" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares" id="ixv-16797">4,848,678</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="ixv-10286"><p id="xdx_809_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zcRFWQVhV6L8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Note 14 &#8211; <span id="xdx_829_zggX1HhjOkr9">Related Party Transactions</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company employs one person who is related to
current or former executive officers. Seth Egan is the Company&#8217;s Director of Sales and Marketing, and is the son of Dwight
Egan, the Company&#8217;s President and Chief Executive Officer and Chairman of the Board. During the year ended December 31, 2023,
the total compensation paid to this person, including salaries, bonuses, and the grant date fair value of equity awards which vest
over <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--SethEganMember_z7AfbhNzBbOd" title="Share based payment, vesting period"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_SethEganMember" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16798">three
years</ix:nonNumeric></span>, was $<span id="xdx_90D_ecustom--PaymentToRelatedParty_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--SethEganMember_zUpJY7SSvE32" title="Total compensation paid"><ix:nonFraction name="CODX:PaymentToRelatedParty" contextRef="From2023-01-012023-12-31_custom_SethEganMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16799">0.6</ix:nonFraction></span>
million. The Company also uses the services of Winston Egan as an independent contractor for sales operations consulting.
Winston Egan is also the son of Dwight Egan, the Company&#8217;s President and Chief Executive Officer and Chairman of the Board.
During the year ended December 31, 2023, the total compensation paid to this contractor, comprised of consulting fees, was $<span id="xdx_902_ecustom--PaymentToRelatedParty_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--WinstonEganMember_zfFOjDSO2HMe" title="Fair value of equity awards"><ix:nonFraction name="CODX:PaymentToRelatedParty" contextRef="From2023-01-012023-12-31_custom_WinstonEganMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16800">0.1</ix:nonFraction></span>
million.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2023, the Company entered into a
services agreement with CoSara, the Company&#8217;s equity method investment, under which CoSara provides certain research and
development consulting and support services. During the year ended December 31, 2023, the Company recognized $<span id="xdx_908_eus-gaap--ResearchAndDevelopmentExpense_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--CoSaraDiagnosticsPvtLtdMember_z0ytD3iqcZZf" title="Research and development expenses"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-012023-12-31_custom_CoSaraDiagnosticsPvtLtdMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD" id="ixv-16801">0.2</ix:nonFraction></span> million
of expense related to this agreement.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" name="us-gaap:SubsequentEventsTextBlock" id="ixv-10303"><p id="xdx_80A_eus-gaap--SubsequentEventsTextBlock_zUmyzUAgzKRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
15 &#8211; <span id="xdx_825_zovM81G7HKrj">Subsequent Events</span></b></span></p>

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

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

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span id="Z_015"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
9. CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE.</b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="Z_016"></span><b>ITEM
9A. CONTROLS AND PROCEDURES</b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain a set of disclosure controls and procedures (as defined in Rule 13a-15(e) of the Exchange Act) designed to ensure that information
required to be disclosed in reports filed or submitted under the Exchange Act is recorded, processed, summarized, and reported within
the time periods specified in rules and forms adopted by the SEC. Disclosure controls and procedures include, without limitation, controls
and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under
the Exchange Act is accumulated and communicated to the Company&#8217;s management, including its principal executive and principal financial
officers, as appropriate to allow timely decisions regarding required disclosure.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management, with the participation of our Chief Executive Officer and our Chief Financial Officer, evaluated the effectiveness of our
disclosure controls and procedures as of December 31, 2023. Based on the evaluation, management has concluded that our disclosure controls
and procedures are effective as of December 31, 2023 to provide reasonable assurance regarding the reliability <span style="background-color: white">of
our financial reporting and the preparation of our financial statements for external reporting purposes in accordance with U.S. generally
accepted accounting principles.</span></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">There
have not been any changes in the Company&#8217;s internal control over financial reporting (as such term is defined in Rules 13a- 15(f)
and 15d-15(f) under the Exchange Act) during the fourth quarter of 2023 that have materially affected, or are reasonably likely to materially
affect, the Company&#8217;s internal control over financial reporting.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management is responsible for establishing and maintaining adequate internal control over financial reporting (as defined in Rule 13a-15(f)
under the Exchange Act). Our management, including our Chief Executive Officer and Chief Financial Officer, conducted an evaluation of
the effectiveness of our internal control over financial reporting as of December 31, 2023. In making its evaluation, management used
the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in Internal Control &#8211; Integrated
Framework (2013).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
on this evaluation, management determined that our internal control over financial reporting was effective as of December 31, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Annual Report does not include an attestation report by our independent registered public accounting firm regarding internal control
over financial reporting since we are a non-accelerated filer. Management&#8217;s report was not subject to attestation by our registered
public accounting firm pursuant to rules of the SEC that permit non-accelerated filers to provide only management&#8217;s report in the
10-K.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Inherent
Limitations on Effectiveness of Controls</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Our
management, including our Chief Executive Officer and Chief Financial Officer, believes that our disclosure controls and procedures and
internal control over financial reporting are intended to be designed to provide reasonable assurance of achieving their objectives.
However, our management does not expect that our disclosure controls and procedures or our internal control over financial reporting
will prevent or detect all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable,
not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact
that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent
limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of
fraud, if any, have been detected. These inherent limitations include the realities that judgments in decision making can be faulty,
and that breakdowns can occur because of a simple error or mistake. Additionally, controls can be circumvented by the individual acts
of some persons, by collusion of two or more people or by management override of the controls. The design of any system of controls also
is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed
in achieving its stated goals under all potential future conditions; over time, controls may become inadequate because of changes in
conditions, or the degree of compliance with policies or procedures may deteriorate. Because of the inherent limitations in a cost&#8211;effective
control system, misstatements due to error or fraud may occur and not be detected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="Z_017"></span><b>ITEM
9B. OTHER INFORMATION</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During the three months ended December 31, 2023, none of our directors
or officers <span id="xdx_903_eecd--Rule10b51ArrAdoptedFlag_dbF_c20231001__20231231_zwin5lFTfY7j"><span id="xdx_907_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20231001__20231231_zQZ7d2wQSqD3"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" name="ecd:Rule10b51ArrAdoptedFlag" id="ixv-16802"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrAdoptedFlag" id="ixv-16803">adopted</ix:nonNumeric></ix:nonNumeric></span></span> or <span id="xdx_90E_eecd--Rule10b51ArrTrmntdFlag_dbF_c20231001__20231231_zx9YhXPtJHK8"><span id="xdx_90E_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20231001__20231231_zhuKISCkh4J7"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" name="ecd:Rule10b51ArrTrmntdFlag" id="ixv-16804"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrTrmntdFlag" id="ixv-16805">terminated</ix:nonNumeric></ix:nonNumeric></span></span> a &#8220;Rule 10-b5-1 trading arrangement&#8221; or &#8220;non-Rule 10-b5-1 trading arrangement&#8221;
as each term is identified in Item 408 of Regulation S-K.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span id="Z_018"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
9C. DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS.</b></span></p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="Z_020"></span><b>ITEM
10. DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the names, ages and positions of our executive officers and directors as of March 12, 2024. The following
is information on the business experience of each director and executive officer now serving and a discussion of the qualifications,
attributes and skills that led to the board of directors&#8217; conclusion that each one is qualified to serve as a director or as an
executive officer as the case may be. Executive officers serve at the discretion of the board of directors.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: white">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 30%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Name</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; white-space: nowrap; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 8%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Age</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; white-space: nowrap; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 58%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Position</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight
    Egan</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">70</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Chairman of the Board</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">48</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer and Secretary</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">54</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">71</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    Serbin</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">79</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">59</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following is a brief summary of the background of each of our executive officers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Dwight
Egan </b>serves as our President and Chief Executive Officer and has been an officer and director of the Company since April 2013. Mr.
Egan has been engaged in private investment business from February 1999 to the present. He was a senior executive at Data Broadcasting
Corporation, a leading provider of wireless, real-time financial market data, news and sophisticated fixed- income portfolio analytics
to 27,000 individual and professional investors from 1995 to 1999. He co-founded and served as CEO and Chairman of the Board of Broadcast
International, Inc. from 1984 to 1995, when Data Broadcasting Corporation acquired Broadcast International and created <i>CBS MarketWatch</i>,
a leading financial news site and participated in its initial public offering. Mr. Egan&#8217;s prior experience in executive leadership
positions with public companies and working with capital markets qualifies him to serve as our Chairman, President and Chief Executive
Officer.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Brian
Brown </b>became our Chief Financial Officer in February 2021. From July 2020 until February 2021, Mr. Brown served as the Chief Financial
Officer of A-Core Concrete Cutting, Inc. where his duties included overseeing the company&#8217;s accounting and finance departments,
mergers and acquisitions and responsibility for financial forecasting and budgeting. From January 2020 to July 2020, Mr. Brown was an
independent consultant. From August 2019 to December 2019, Mr. Brown served as the Vice President of Accounting, Treasury and Investor
Relations at Sportsman&#8217;s Warehouse Holdings, Inc., a public company reporting on Nasdaq Global Select under the symbol SPWH, where
his duties included overseeing the company&#8217;s accounting, treasury and investor relations departments, preparing the company&#8217;s
annual, quarterly and current reports with the SEC, overseeing all aspects of the company&#8217;s annual audit, including, but not limited
to, the preparation and review of audit support schedules, preparation of financial statements and footnotes, and providing support to
the company&#8217;s independent auditors. From October 2009 to August 2019, Mr. Brown served as the Director of Finance of Sportsman&#8217;s
Warehouse Holdings, Inc. where he assisted with the company&#8217;s initial public offering in April 2014 as well as effecting private
and secondary public offerings, acquisitions of a group of retail stores and preparing the company&#8217;s periodic and current reports
with the SEC and complying with the Sarbanes Oxley Act. From May 2005 to October 2009, Mr. Brown served as the Corporate Controller of
Franklin Covey Products where he developed and maintained the company&#8217;s internal controls over financial reporting structure in
accordance with the control standards required under Section 404 of the Sarbanes Oxley Act. From July 2001 to May 2005, Mr. Brown served
as an Assurance Senior at KPMG, LLP where he provided audit services to various clients in multiple industries. Mr. Brown holds a Bachelor
of Arts in Accounting and Masters of Professional Accountancy from the University of Utah. Mr. Brown is a licensed CPA in Utah.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following is a brief summary of the background of each of our directors:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Eugene
Durenard</b> has been a member of our board of directors since June 2019. Dr. Durenard is the Founder and CEO of Hyperbolic Holdings,
a Swiss-based holding, management consulting and strategy advisory company specialized in healthcare. For the last 7 years he has been working with family offices on direct investments
and philanthropy focused on life sciences. He serves on the advisory board of several private companies in the biotech and MedTech sectors.
After an initial career in proprietary research and trading at Salomon Brothers and Credit Suisse in London, he co-founded Orion Investment
Management in Bermuda specializing in quantitative asset and liability management for institutions and private clients. He subsequently
sold it to Capital G Bank and co-headed their asset management. Dr. Durenard spent several years establishing personal connections with
representatives of 40+ clusters of life science innovation, families operating healthcare businesses and industry leaders globally. He
regularly visits labs and incubators, meets with leading scientists and innovators in order to keep abreast of current trends and developments.
His advice is based on a thorough analysis that combines in-depth knowledge of science, competitive forces and financial expertise. He
has published several articles in asset-liability management industry magazines as well as the book &#8220;Professional Automated Trading
&#8212; Theory and Practice&#8221; (Wiley 2013). He has a PhD in Mathematics from Harvard University. Dr. Durenard brings a thorough
multi-asset class investment and entrepreneurial experience spanning 25 years to the Company&#8217;s board of directors.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"><b>James
Nelson</b></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">has been a member of our board of directors
since June 2019. Mr. Nelson <span style="background-color: white">is the retired Chairman and CEO of Sunworks, Inc., a NASDAQ traded
commercial, agriculture, and residential solar Integrator which he helped found in October 2010. Mr. Nelson spent most of his career
working in private equity as a general partner with Peterson Partners and with Millennial Capital Partners. In addition to his investment
and financial responsibilities, he served as CEO of two of his firms&#8217; portfolio companies. Prior to his years in private equity,
Mr. Nelson served as Vice President of Marketing at Banana Republic, where he managed company-wide marketing, as well as the company&#8217;s
international expansion initiative. He was also general manager for Banana Republic&#8217;s catalog division. He was Vice President of
Marketing and Corporate Development at Saga Corporation, a multi-billion-dollar food service company. Mr. Nelson began his executive
career over 35 years ago at Bain and Company, a business strategy consulting firm, where he managed teams of consultants on four continents.
Mr. Nelson received his MBA from Brigham Young University, where he graduated summa cum laude and was named the Outstanding Master of
Business Administration Graduate. Mr. Nelson&#8217;s advice to the board of directors from his experiences as a chief executive officer
and strategic advisor is useful to the board of directors.</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Richard
Serbin </b>has been a member of our board of directors since May 2017. Mr. Serbin currently serves as a consultant to many companies
in the healthcare industry. He was the President of Corporate Development and In-House Legal Counsel at Life Science Institute, LLC,
from June 1, 2013 to July 15, 2014. He was appointed to the Advisory Board of Cure Pharmaceutical in January 2017 and has been a Member
of Advisory Board at Prime Access, Inc. since September 2015. Mr. Serbin has been a Director at Rapid Nutrition Plc since November 18,
2014. He served as Director at Viropro Inc. from May 2013 to June 2014. He was Head of Business Advisory Board at Mazal Plant Pharmaceuticals
Inc. from October 2006 to September 2007 and also served as its Member of Business Advisory Board. He served as Chief Executive Officer
of Optigenex Inc. from July 2002 to September 15, 2005 and a director from July 2004 to September 2005. From January 1999 until July
2002 Mr. Serbin served as a consultant to various pharmaceutical companies. He served as the President of Bradley Pharmaceuticals. He
served as Vice President of Corporate Development at Ortho Pharmaceuticals, a Johnson &amp; Johnson subsidiary, and practiced Patent
and FDA law at Revlon Johnson &amp; Johnson and Schering-Plough. He served as Patent Attorney for Schering Plough Corporation and Chief
FDA Counsel for Revlon Corporation and Johnson and Johnson Corporation. Subsequently, he worked at Revlon Corporation, as its Chief Food,
Drug and Cosmetic Counsel. He founded Radius Scientific Corporation. He was J&amp;J&#8217;s Vice President of Corporate Development,
and later led a successful public offering venture based on technology developed at Stanford Medical School. Mr. Serbin spent a large
portion of his career focusing on international markets and clients. While at J&amp;J, Mr. Serbin served on the board of directors of
16 US and international subsidiary companies, including Ethicon, Ortho, J&amp;J Consumer Products, Pittman-Moore, Mc Neil, and J&amp;J
Development Corporation. He worked on multiple international acquisitions and strategic relationships, and sat on the board of directors
of several of its international subsidiaries, including those in India, Hong Kong, Japan, Taiwan, Germany, and England. Mr. Serbin has
a B.S. and a B. Pharmacy from Rutgers University and Rutgers University College of Pharmacy, a J.D. degree from Seton Hall Law School
and a Master&#8217;s Degree in Trade Regulations and Law from NYU Law School. Mr. Serbin&#8217;s experience in business, law and medicine
and knowledge gained as an advisor to the healthcare industry is critical to our board of directors as we continue to commercialize our
products.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Edward
Murphy</b> has been a member of our board of directors since June 2019. Since December 1999, Mr. Murphy has served as a senior vice president
and a partner of Dover Investments Ltd., a private investment firm. Throughout his career, Mr. Murphy&#8217;s duties have included investment
analysis of various types of investment projects in real estate and financial services. Currently, Mr. Murphy serves on the board of
directors of several Canadian publicly reporting companies that have interests in various industries. He has been a Director at Empire
Minerals Corporation Inc. since January 2016, at Digicrypts Blockchain Solutions Inc. from June 2011 to November 2022, at Lakefield Marketing
Corporation since February 2018, CEO/CFO and Director of Credo Resources Inc. since September 2019, at the Mosport Park Entertainment
Corporation since April 30, 1997, at Essex Oil Ltd. Since July 2021, and at Darkhorse Technologies Ltd. Since November 2021. He served
as a Director at Aurquest Resources from May 2003 to December 2017. Mr. Murphy&#8217;s experience in the capital markets outside the
United States and his involvement in investment analysis is a benefit to the board of directors.</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Dwight
Egan </b>&#8211; See narrative description above.</span></p>

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

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Involvement
in Certain Legal Proceedings</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the best of our knowledge, none of our directors or executive officers has been involved in any bankruptcy or criminal proceedings (other
than traffic and other minor offenses) or been subject to any of the items set forth under Item 401(f) of Regulation S-K, nor have there
been any judgments or injunctions brought against any of our directors or executive officers during the last ten years that we consider
material to the evaluation of the ability and integrity of any director or executive officer.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Board
and Committee Matters</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
board of directors has five members. The Chairman of the Board and our Chief Executive Officer, Dwight Egan, is a member of the board
and is a full-time employee of the Company. Eugene Durenard, Edward Murphy, James Nelson and Richard Serbin are non-employee directors,
and the board has determined that these persons (who constitute a majority of the board) are &#8220;independent directors&#8221; under
the criteria set forth in Rule 5605(a)(2) of the Nasdaq Listing Rules. The board met nine times during the year ended December 31, 2023.
All directors attended more than seventy-five percent (75%) of the meetings of the board and committee meetings of which such director
was a member held during 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain an audit committee of the board, a compensation committee of the board, a corporate governance committee of the board and a
nominating committee of the board, each of which is discussed below. Our board of directors may from time to time establish other standing
committees. In addition, from time to time, special committees may be established under the direction of our board of directors when
necessary to address specific issues.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth a description of the four permanent board committees and the chairpersons and members of those committees,
all of whom are independent directors:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Independent
    Chairperson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="5" style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Independent
    Members</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="5" style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 25%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Audit
    Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 21%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 13%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 16%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 17%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    S. Serbin</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Compensation
    Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    S. Serbin</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Governance
    Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    S. Serbin</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Nominating
    Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    S. Serbin</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Audit
Committee and Financial Expert</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audit committee currently is comprised of Messrs. Durenard, Nelson, Murphy and Serbin with Mr. Durenard serving as chairperson of the
audit committee. The functions of the audit committee include engaging an independent registered public accounting firm to audit our
annual financial statements, reviewing the independence of our auditors, the financial statements and the auditors&#8217; report, and
reviewing management&#8217;s administration of our system of internal control over financial reporting and disclosure controls and procedures.
The board of directors has adopted a written audit committee charter. A current copy of the audit committee charter is available to security
holders on our website at www.codiagnostics.com. Our board has determined that all our directors that are serving on the audit committee
are &#8220;independent&#8221; under the definition of independence in the Marketplace rules of the NASDAQ listing standards. The Audit
Committee met four times during the year ended December 31, 2023. All committee members attended more than seventy-five percent (75%)
of the meetings of the Audit Committee held during 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
board of directors has determined that Mr. Durenard meets the requirements of an &#8220;audit committee financial expert&#8221; as defined
in applicable SEC regulations.</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
compensation committee currently includes Messrs. Serbin, Nelson, Murphy and Durenard with Mr. Serbin serving as chairperson of the compensation
committee. The functions of the compensation committee include reviewing and approving corporate goals relevant to compensation for executive
officers, evaluating the effectiveness of our compensation practices, evaluating and approving the compensation of our chief executive
officer and other executives, recommending compensation for board members, and reviewing and making recommendations regarding incentive
compensation and other employee benefit plans. The board of directors has adopted a written compensation committee charter. A current
copy of the compensation committee charter is available to shareholders on our website at www.codiagnostics.com. Our board has determined
that all of our directors serving on the compensation committee are &#8220;independent&#8221; under the definition of independence in
the Marketplace Rules of the NASDAQ listing standards. The Compensation Committee met two times as a separate committee in 2023.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Corporate Governance Committee currently includes Messrs. Nelson, Murphy, Durenard and Serbin with Mr. Nelson serving as chairperson
of the Corporate Governance Committee. Among other items, the committee is tasked by the board of directors to develop and recommend
to the board the Corporate Governance Guidelines of the Company and oversee compliance therewith. A current copy of the Corporate Governance committee charter is available
to shareholders on our website at www.codiagnostics.com. Our board has determined all directors serving on the Corporate Governance committee
are &#8220;independent&#8221; under the definition of independence in the Marketplace Rules of the NASDAQ listing standards. The Corporate
Governance Committee did not meet as a separate committee in 2023, but rather, because the committee is comprised of all four independent
directors, committee matters were addressed as necessary in meetings of the board the year ended December 31, 2023.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Nominating Committee was split from the Corporate Governance Committee in 2022 and currently includes Messrs. Nelson, Murphy, Durenard
and Serbin with Mr. Murphy serving as chairperson of the Nominating Committee. The Nominating Committee has been established by the board,
among other things to: assist the board in effecting board organization, membership and function including identifying qualified board
nominees; assist the board in effecting the organization, membership and function of board committees including the composition of board
committees and recommending qualified candidates therefor; evaluate and provide successor planning for the Chief Executive Officer and
other executive officers; and develop criteria for board membership, such as independence, term limits, age limits and ability of former
employees to serve on the board and the evaluation of candidates&#8217; qualifications for nominations to the board and its committees
as well as removal therefrom. The Nominating Committee did not meet as a separate committee in 2023, but rather, because the committee
is comprised of all four independent directors, committee matters were addressed as necessary in meetings of the board for the year ended
December 31, 2023.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
considering board candidates, the board seeks individuals of proven judgment and competence who have strong reputations in their respective
fields. Although we do not have a formal diversity policy, the board considers such factors as experience, education, employment history,
special talents or personal attributes, anticipated participation in board activities, and geographic and diversity factors. The process
for identifying and evaluating nominees would include detailed consideration of the recommendations and opinions of members of our board,
our executive officers, and our stockholders. There would be no difference in the process of evaluation of candidates recommended by
a stockholder and those recommended by other sources.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Amended and Restated Bylaws (the &#8220;Bylaws&#8221;) set forth procedures for shareholders to recommend nominees to the Company&#8217;s
board. Nominations of persons for election to the board of directors to be considered by the stockholders may be made at an annual meeting
of stockholders (i) pursuant to the Company&#8217;s notice of meeting, (ii) by or at the direction of the board of directors, or (iii)
by any stockholder of the Company who (A) was a stockholder of record at the time of giving of the notice, (B) is entitled to vote with
respect to such matter at the meeting, and (C) complies with the notice procedures set forth in the Bylaws.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following is a summary of key provisions from our Bylaws. For nominations to be properly brought before an annual meeting by a stockholder,
the stockholder making such nominations must have given timely notice in writing to the secretary of the Company. To be timely, a stockholder&#8217;s
notice shall be delivered to the secretary at the principal executive offices of the Company not later than the close of business on
the 7<sup>5t</sup>h day nor earlier than the close of business on the 12<sup>5t</sup>h day prior to the first anniversary of the preceding
year&#8217;s annual meeting; provided, however, that in the event that the date of the annual meeting is more than 30 days before or
more than 60 days after such anniversary date, notice by the stockholder to be timely must be so delivered not later than the close of
business on the later of (x) t<sup>he</sup> 75th day prior to the scheduled date of such annual meeting or (y) the 15th day following
the day on which public announcement of the date of such meeting is first made by the Company. To be in proper form, a stockholder&#8217;s
notice to the secretary must: set forth, as to the stockholder giving the notice and the beneficial owner, if any, on whose behalf the
nomination or proposal is made (A) the name and address of such stockholder, as they appear on the Company&#8217;s books, and of such
beneficial owner, if any, (B) the class or series and number of shares of the Company that are, directly or indirectly, owned beneficially
and of record by such stockholder and such beneficial owner, if any, as of the date of such notice, and (C) any other information relating
to such stockholder and beneficial owner, if any, that would be required to be disclosed in a proxy statement or other filings required
to be made in connection with solicitations of proxies for, as applicable, the proposal and/or for the election of directors in a contested
election pursuant to Section 14 of the Securities Exchange Act of 1934, as amended, and the rules and regulations promulgated thereunder
(the &#8220;Exchange Act&#8221;). In addition, shareholders who intend to solicit proxies in support of director nominees other than
the company&#8217;s nominees must also comply with the additional requirements of Rule 14a-19(b).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
notice shall set forth, as to each person, if any, whom the stockholder proposes to nominate for election or reelection as a director
(A) all information relating to such person that would be required to be disclosed in a proxy statement or other filings required to
be made in connection with solicitations of proxies for election of directors in a contested election pursuant to Section 14 of the Exchange
Act (including such person&#8217;s written consent to being named in the proxy statement as a nominee and to serving as a director if
elected) and (B) a description of all direct and indirect compensation and other monetary agreements, arrangements and understandings
during the past three years, and any other relationships, between or among such stockholder and beneficial owner, if any, and their respective
affiliates and associates, or others acting in concert therewith, on the one hand, and each proposed nominee, and his or her respective
affiliates and associates, or others acting in concert therewith, on the other hand, including, without limitation all information that
would be required to be disclosed pursuant to Rule 404 promulgated under Regulation S-K if the stockholder making the nomination and
any beneficial owner on whose behalf the nomination is made, if any, or any affiliate or associate thereof or person acting in concert
therewith, were the &#8220;registrant&#8221; for purposes of such rule and the nominee were a director or executive officer of such registrant;
and with respect to each nominee for election or reelection to the board of directors, include the completed and signed questionnaire,
representation, and agreement required by the Bylaws. The Company may require any proposed nominee to furnish such other information
as may reasonably be required by the Company to determine the eligibility of such proposed nominee to serve as an independent director
of the Company or that could be material to a reasonable stockholder&#8217;s understanding of the independence, or lack thereof, of such
nominee.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Communication
with the Board</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have not, to date, developed a formal process for shareholder communications with the board of directors. We believe our current informal
process, in which any communication sent to the board of directors, either generally or in care of the chief executive officer, secretary
or other corporate officer or director, is forwarded to all members of the board of directors, has served the board&#8217;s and the shareholders&#8217;
needs.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
an annual basis, each director and executive officer is obligated to complete a director and officer questionnaire that requires disclosure
of any transactions with our company, including related person transactions reportable under SEC rules, in which the director or executive
officer, or any member of his or her immediate family, have a direct or indirect material interest. Under our company&#8217;s standards
of conduct for employees, all employees, including the executive officers, are expected to avoid conflicts of interest. Pursuant to our
code of ethics for the chief executive officer and senior finance officers (as discussed below), such officers are prohibited from engaging
in any conflict of interest unless a specific exception has been granted by the board. All of our directors are subject to general fiduciary
standards to act in the best interests of our company and our shareholders. Conflicts of interest involving an executive officer or a
director are generally resolved by the board.</span></p>


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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Role
of the Board in Risk Oversight</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Risk
is inherent with every business, and how well a business manages risk can ultimately determine its success. Management is responsible
for the day-to-day management of the risks that we face, while our board of directors, as a whole and through its committees, has responsibility
for the oversight of risk management. In its risk oversight role, our board of directors is responsible for satisfying itself that the
risk management processes designed and implemented by management are adequate and functioning as designed.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
board of directors does not have a standing risk management committee, but rather administers this oversight function directly through
our board of directors as a whole, as well as through various standing committees of the board of directors that address risks inherent
in their respective areas of oversight. In particular, our board of directors is responsible for monitoring and assessing strategic risk
exposure, including a determination of the nature and level of risk appropriate for us. Our Audit Committee has the responsibility to
consider and discuss our major financial risk exposures and the steps our management has taken to monitor and control these exposures,
including guidelines and policies to govern the process by which risk assessment and management is undertaken. The Audit Committee also
monitors oversight of the performance of our internal audit function. Our Corporate Governance Committee monitors the effectiveness of
our corporate governance guidelines, including whether they are successful in preventing illegal or improper liability-creating conduct.
Our Compensation Committee assesses and monitors whether any of our compensation policies and programs have the potential to encourage
excessive risk-taking or promote behaviors contra to our Code of Business Conduct. Our Nominating Committee assesses and monitors the
effectiveness of the board and its committees and evaluates board members and nominees for election to the board and succession planning
for the CEO and other executive officers.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have adopted a code of ethics for our principal executive officer, principal financial officer, controller, or persons performing similar
functions. A copy of the code of ethics is included on our website at <span style="text-decoration: underline">www.codiagnostics.com</span>.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
are no family relationships among our directors and executive officers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="Z_021"></span><b>ITEM
11. EXECUTIVE COMPENSATION</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are a &#8220;smaller reporting company&#8221; as defined in the rules and regulations of the SEC. As a smaller reporting company, we
may take advantage of specified reduced disclosure and other requirements that are otherwise applicable, in general, to public companies
that are not smaller reporting companies. Accordingly, this Report includes reduced disclosure about our executive compensation arrangements.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the total compensation paid or earned by each of the named executive officers in their respective capacities for
the fiscal years ended December 31, 2023 and 2022. We have omitted in this report certain columns otherwise required to be included because
there was no compensation made with respect to such columns, as permitted by applicable SEC regulations.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold">Name and Principal Position</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Salary</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Bonus (1)</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Stock Awards (2)</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">All Other &#160;Comp</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Total Compensation</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Dwight Egan President &amp; Chief Executive Officer</td><td style="width: 2%">&#160;</td>
    <td style="width: 8%; text-align: center">2023</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">375,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">40,750</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">845,550</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">1,261,300</td><td style="width: 1%; 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: center">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">366,146</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">146,245</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,454,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,967,141</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: 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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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">Brian Brown Chief Financial Officer and Secretary</td><td>&#160;</td>
    <td style="text-align: center">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">306,923</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">32,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">701,550</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,040,473</td><td style="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: center">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">280,875</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">106,647</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,190,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,577,772</td><td style="text-align: left">&#160;</td></tr>
  </table>



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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bonuses
    for the year ended December 31, 2023 include accrued bonus payments of $20,750 to Mr. Egan and $17,000 to Mr. Brown that were paid
    in January 2024. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    amounts reported in this column represent the aggregate grant date fair value of the restricted stock units, or RSUs, granted under
    our 2015 Plan as computed in accordance with FASB ASC Topic 718. Note that the amounts reported in this column reflect the accounting
    value for these equity awards and do not correspond to the actual economic value that may be received from the equity awards as the
    RSUs vest over three years.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Narrative
Disclosure to Summary Compensation Table:</i> We do not have written employment agreements with any of our executive officers. All of
our executive officers serve on an at-will basis. The base salaries for our named executive officers were determined by our compensation
committee after reviewing a number of factors, including: the responsibilities associated with the position, the seniority of the executive&#8217;s
position, the base salary level in prior years, and our financial position; and for executive officers other than our Chief Executive
Officer, recommendations made by our Chief Executive Officer. By utilizing a combination of objective and subjective performance factors
critical to our success, the board will award cash bonuses intended to incentivize our executive officers to achieve results that benefit
them and the Company. Performance factors include the achievement of predetermined financial performance objectives, adherence to financial
discipline measures and achievement of business development, product development and long-term business stability. The board may modify
or re-weight the objectives during the course of the fiscal year, if necessary, to reflect changes in our business plan.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Outstanding
Equity Awards at Fiscal Year-End 2023</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table contains certain information concerning outstanding equity awards for the Named Executive Officers as of December 31,
2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">Option Awards</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">Stock Awards</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Number of Securities<br/> Underlying Unexercised<br/> Options (#)</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">Option<br/> Exercise</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">Option<br/> Expiration</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">Number of Shares or Units of Stock That Have Not Vested</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">Market Value of Shares or Units of Stock That Have Not Vested</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">Number of Unearned Shares, Units or Other Rights That Have Not Vested</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; text-align: center">Market or Payout Value of Unearned Shares, Units or Other Rights That Have Not Vested</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: center">Name</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Exercisable</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Unexercisable</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Date</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; padding-bottom: 1.5pt; text-align: center"> (#)</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"> ($) (1)</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; padding-bottom: 1.5pt; text-align: center"> (#)</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; padding-bottom: 1.5pt; text-align: center"> ($)</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; text-align: left">Dwight Egan</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">50,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">2.63</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">09/20/28</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">-</td><td style="width: 1%; 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">50,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.10</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">09/02/29</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,833</td><td style="text-align: left">(2)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">27,708</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">137,500 </span></td><td style="text-align: left">(3)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">182,875</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">103,333 </span></td><td style="text-align: left">(4)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">137,433</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">229,167 </span></td><td style="text-align: left">(5)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">304,792</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Brian Brown</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,667</td><td style="text-align: left">(2)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">22,167</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,500</td><td style="text-align: left">(3)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">149,625</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">86,667</td><td style="text-align: left">(4)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">115,267</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="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">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">187,500</td><td style="text-align: left">(5)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">249,375</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)
Based on $1.33 per share, which was the closing price of our common stock on December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)
Consists of restricted stock units granted on 8/12/2021, which vest in 6 installments commencing on 11/23/2021 and continuing every six
months thereafter.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)
Consists of restricted stock units granted on 6/6/2022, which vest in 6 installments commencing on 11/23/2022 and continuing every six
months thereafter.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)
Consists of restricted stock units granted on 1/13/2023, which vest in 6 installments commencing on 5/23/2023 and continuing every six
months thereafter.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5)
Consists of restricted stock units granted on 5/15/2023, which vest in 6 installments commencing on 11/23/2023 and continuing every six
months thereafter.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Potential
Payments Upon Termination or Change of Control</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
the recommendation of the compensation committee of the board of directors, the Board approved the Co-Diagnostics, Inc. Change in Control
Severance Plan (the &#8220;Plan&#8221;). The Plan provides severance benefits to a select group of designated management or highly compensated
participants in the event their employment or affiliation with the Company or an affiliate is terminated due to a change in control (as
defined in the Plan). Participants entitled to benefits under the Plan are designated from time-to-time by the Compensation Committee
pursuant to the terms of an &#8220;Award Notice,&#8221; the form of which is appended to the Plan. The Award Notice identifies the eligible
participant and the Severance Multiplier (as defined in the Plan) to which the participant is entitled. The Compensation Committee approved
participation in the Plan for certain executives of the Company, including the Company&#8217;s CEO, Dwight Egan, with a Severance Multiplier
of three times his severance benefit and the Company&#8217;s CFO, Brian Brown, with a Severance Multiplier of two times his severance
benefit.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
the Plan, if a participant&#8217;s employment or affiliation is terminated without &#8220;cause&#8221; or by the participant for &#8220;good
reason&#8221; (each, as defined in the Plan) during the two-year period following a change in control, a participant will be entitled
to a severance benefit equal to the participant&#8217;s Severance Multiplier as set forth in the participant&#8217;s Award Notice, times
the sum of: (i) the participant&#8217;s annual base salary; and (ii) the greater of the participant&#8217;s target bonus or the average
of the three highest actual annual cash bonuses paid to participant over the five preceding completed years.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
participant&#8217;s receipt of any of the payments or benefits is subject to the participant&#8217;s delivery to the Company of a separation
agreement of the type that are ordinarily entered into in similar situations, in a form acceptable to the Company, in its sole discretion,
which separation agreement may include a requirement for the participant to remain in the employ or service of the Company for a reasonable
period of time after completion of the Change in Control transaction to assist in any transition activities for which participant&#8217;s
services would be required.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
use a combination of cash and stock-based incentive compensation to attract and retain qualified candidates to serve on its board of
directors. In setting director compensation, we consider the significant amount of time that directors expend in fulfilling their duties
as well as the skill level required by our members of the board.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the compensation paid or accrued by us to each of our non-employee directors for the fiscal year ended December
31, 2023.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Name</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Fees Earned <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">or</span>
    Paid in Cash</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Stock Awards:<br/> Value of Restricted<br/> &#160;Stock Units (1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Richard Serbin (2)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">100,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">198,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">298,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">James Nelson (3)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">100,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">198,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">298,000</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">Edward Murphy (4)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">100,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">198,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">298,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Eugene Durenard (5)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">100,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">198,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">298,000</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; vertical-align: top; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    amounts reported in this column represent the aggregate grant date fair value of the restricted stock units, or RSUs, granted under
    our 2015 Plan as computed in accordance with FASB ASC Topic 718. Note that the amounts reported in this column reflect the accounting
    value for these equity awards and do not correspond to the actual economic value that may be received from the equity awards. The
    RSUs vested immediately upon grant.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    of December 31, 2023, Mr. Serbin had 120,000 RSU awards outstanding.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    of December 31, 2023, Mr. Nelson had 120,000 RSU awards outstanding.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    of December 31, 2023, Mr. Murphy had 120,000 RSU awards outstanding.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
    of December 31, 2023, Mr. Durenard had 120,000 RSU awards outstanding.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
non-employee directors receive cash compensation of $100,000 per year, paid quarterly. In 2022, they also received 70,000 RSU&#8217;s
vesting 1/6<sup>th </sup>equally in May 2023, 2024, and 2025 and November 2023, 2024 and 2025. In 2023, they also received 40,000 RSU&#8217;s
vesting 1/6<sup>th </sup>equally in November 2022, 2023, and 2024 and May 2023, 2024, and 2025, as well as 70,000 RSU&#8217;s vesting
1/6<sup>th </sup>equally in November 2023, 2024 and 2025 and May 2024, 2025 and 2026. In addition, non-employee directors may be entitled
to receive special awards of stock options or RSUs from time to time as determined by the board. The chairman of the board and the chairperson
of each of the audit, corporate governance, nomination, and compensation committees receive no additional fees for serving in such capacities.
There is no additional compensation for meeting attendance. Directors who are employees of the Company receive no additional compensation
for serving as directors. All stock options granted to outside directors are immediately exercisable and expire ten years from the date
of grant or 30 days after the date they cease to be directors. Directors are reimbursed for ordinary expenses incurred in connection
with attending board and committee meetings.</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
our Amended and Restated 2015 Long-term Incentive Plan (the &#8220;2015 Plan&#8221;), the board of directors may issue incentive stock-based
awards to employees, directors and consultants of the company. Options awarded generally expire ten years after being granted. Any stock-based
awards granted vest in accordance with the vesting schedule determined by the board of directors. Should an employee&#8217;s director&#8217;s
or consultant&#8217;s relationship with the company terminate before the vesting period is completed, the unvested portion of each grant
is forfeited. We continue to maintain and grant awards under the 2015 Plan which will remain in effect until its expiration by its terms.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
purpose of our incentive plan is to advance the interests of our stockholders by enhancing our ability to attract, retain and motivate
persons who are expected to make important contributions to the company by providing them with both equity ownership opportunities and
performance-based incentives intended to align their interests with those of our stockholders. These plans are designed to provide us
with flexibility to select from among various equity-based compensation methods, and to be able to address changing accounting and tax
rules and corporate governance practices by optimally utilizing stock-based awards.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span id="Z_022"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth certain information, as of March 12, 2024, with respect to the holdings of (1) each person who is the beneficial
owner of more than 5% of our Common Stock, (2) each of our directors, (3) each named executive officer, and (4) all of our current directors
and executive officers as a group.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Beneficial
ownership of the common stock is determined in accordance with the rules of the Securities and Exchange Commission and includes any shares
of common stock over which a person exercises sole or shared voting or investment power, or of which a person has a right to acquire
ownership at any time within 60 days of March 12, 2024. Applicable percentage ownership in the following table is based on 31,259,668
shares of common stock plus, for each individual, any securities that individual has the right to acquire within 60 days of March 12,
2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
information in the table below is based on information known to us or ascertained by us from public filings made by the stockholders.
Except as otherwise indicated in the table below, addresses of the director, executive officers and named beneficial owners are in care
of Co-Diagnostics, Inc., 2401 S. Foothill Drive, Suite D, Salt Lake City, Utah 84109.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Shares Beneficially Owned</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Percentage<br/> of Class (1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">5% Stockholders</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-left: 10pt; width: 60%; text-align: left">Vanguard Group (1)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">1,781,283</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">5.7</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Named Executive Officers and Directors</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-left: 10pt; text-align: left">Dwight Egan (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">370,881</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Brian Brown</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">213,220</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Edward Murphy (3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">147,500</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Eugene Durenard</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">85,000</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">James Nelson (4)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">135,000</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Richard Serbin (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">107,945</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="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">All Directors and Executive Officers as a Group (6 persons)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,059,546</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.3</td><td style="text-align: left">%</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*Represents
beneficial ownership of less than 1%.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Information
    obtained from Schedule 13G/A filed with the SEC on February 13, 2024. Vanguard Group has an address of 100 Vanguard Blvd, Malvern,
    PA, 19355.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    exercisable options to acquire 100,000 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    exercisable options to acquire 50,000 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    exercisable options to acquire 50,000 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    exercisable options to acquire 20,445 shares of common stock.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Equity
Compensation Plan Information</b></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left">Plan Category</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(a) Number of Shares to be Issued upon Exercise of Outstanding Options and Rights</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(b) Weighted-average Exercise Price of Outstanding Options and Rights</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(c) Number of Securities Remaining Available for Future Issuance Under Equity Compensation Plans (Excluding Securities Referenced in Column (a))</td><td style="padding-bottom: 1.5pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Equity compensation plans approved by stockholders</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;&#160;&#160;&#160;3,966,069 &#160;&#160;&#160;&#160;</span></td><td style="width: 1%; text-align: left">(1)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2.19 &#160;&#160;&#160;&#160; &#160;</span></td><td style="width: 1%; text-align: left">(2)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">4,357,937</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Equity compensation plans not approved by stockholders</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Total</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;&#160;&#160;&#160;3,966,069 &#160;&#160;&#160;&#160;</span></td><td style="text-align: left">(1)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2.19 &#160;&#160;&#160;&#160; &#160;</span></td><td style="text-align: left">(2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,357,937</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 24px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    options and restricted stock units outstanding under our 2015 Equity Incentive Plan. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Represents
    weighted-average exercise price per share of common stock acquirable upon exercise of outstanding stock options.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span id="Z_023"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ITEM
13. CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company employs one person who is related to current or former executive officers. Seth Egan is the Company&#8217;s Director of Sales
and Marketing, and is the son of Dwight Egan, the Company&#8217;s President and Chief Executive Officer and Chairman of the Board. During
the year ended December 31, 2023, the total compensation paid to this person, including salaries, bonuses, and the grant date fair value
of equity awards which vest over three years, was $648,201. The Company also uses the services of Winston Egan as an independent contractor
for sales operations consulting. Winston Egan is also the son of Dwight Egan, the Company&#8217;s President and Chief Executive Officer
and Chairman of the Board. During the year ended December 31, 2023, the total compensation paid to this contractor, comprised of consulting
fees, was $120,000.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Policy
for Review of Related Party Transactions</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
review of transactions with related persons policy is set forth in our Corporate Governance Committee Charter. The Corporate Governance
Committee is to oversee the administration of any related party transactions policy in effect with respect to transactions in which the
Company is a participant and involving directors, nominees for director, executive officers of the Company or holders of more than 5%
of the Company&#8217;s common stock or immediate family members of any such person.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Director
Independence</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
information regarding the independence of our directors, see &#8220;Directors, Executive Officers and Corporate Governance&#8221; in
Part III, Item 10 of this Form 10-K.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="Z_024"></span>ITEM
14. PRINCIPAL ACCOUNTANT FEES AND SERVICES</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate fees and expenses for professional services rendered by our principal accounting firm, Tanner LLC for 2023 and Haynie &amp;
Company for 2022, are separately presented and are as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Audit fees</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">154,811</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">136,600</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Audit related fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</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">Other consulting fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">287,838</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Tax fees</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total fees</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">442,649</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">136,600</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Audit
fees consist of fees for professional services provided in connection with the audit of our annual consolidated financial statements,
review of our quarterly consolidated financial statements and our offerings.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Other consulting fees relate to fees for products
and services other than the services reported above and consist of federal and state research tax credit consulting services (at a fixed
fee).</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
audit committee has adopted a policy that requires advance approval of all services performed by the independent auditor when fees are
expected to exceed $15,000. The audit committee has delegated to the audit committee chairperson, Mr. Durenard, the authority to approve
services, subject to ratification by the audit committee at its next committee meeting. All fees incurred were pre-approved by the audit
committee.</span></p>

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


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


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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="Z_026"></span>Item
15. Exhibits and Financial Statement Schedules.</b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    following documents are filed as part of this Annual Report on Form 10-K:</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Financial
    Statements. </i>The Consolidated Financial Statements filed as part of this Annual Report on Form 10-K are included in Part II, Item
    8 of this Annual Report on Form 10-K. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Financial
    statement schedules.</i> There are no financial statements schedules included because they are either not applicable or the required
    information is shown in the consolidated financial statements or the notes thereto. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exhibits.
    The exhibits required by Item 601 of Regulation S-K and Item 15(b) of this Annual Report are listed in the Exhibit Index below. The
    exhibits listed in the Exhibit Index are incorporated by reference herein.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Number</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit
    Description</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Filed
    with this</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Report</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2.5in"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Incorporated
    by</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Reference
    herein from Form or Schedule</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Filing
    Date</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.75in"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>SEC
    File/Reg.</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Number</b></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.1*+</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315221032360/ex2-1.htm">Agreement
    and Plan of Merger by and between Co-Diagnostics, Inc, IDMO Acquisition Corp., Idaho Molecular Inc., and Company Representative dated
    as of December 21, 2021.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 2.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12/23/21</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.1.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222016975/ex2-2.htm">Amendment
    to Agreement and Plan of Merger by and among Co-Diagnostics, Inc., Idaho Molecular, Inc., and Kirk Ririe, as Company Representative</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 2.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">06/16/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.2*+</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315221032360/ex2-2.htm">Agreement
    and Plan of Merger by and between Co-Diagnostics, Inc, ACI Acquisition Corp., Advanced Conceptions, Inc., and Company Representative
    dated as of December 21, 2021</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 2.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12/23/21</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.2.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222016975/ex2-1.htm">Amendment
    to Agreement and Plan of Merger by and among Co-Diagnostics, Inc., Advanced Conceptions, Inc., and Richard Abbott, as Company Representative</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 2.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">06/16/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;3.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename2.htm">&#160;Articles
    of Incorporation</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft
    Registration Statement (Exhibit 3.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;377-01467</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename3.htm">Amendment
    to the Articles of Incorporation</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft
    Registration Statement (Exhibit 3.1.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">377-01467</span></td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315219000111/ex3-2.htm">Articles
    of Amendment to Articles of Incorporation</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 2.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 3.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/03/19</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1.3</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex3-1_3.htm" style="-sec-extract: exhibit">Articles of Amendment</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 3.1.3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/24/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1.3</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex3-1_3.htm" style="-sec-extract: exhibit">Articles of Amendment</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 3.1.3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/16/2023</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222008865/ex3-1.htm"><span style="background-color: white">Amended
    and Restated Bylaws of Co-Diagnostics, Inc.</span></a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 3.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">04/01/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex4-1.htm">Description of Registrant&#8217;s securities</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223007975/ex4-1.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form of Indenture</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registration
    Statement (Exhibit 4.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/16/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-270628</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename7.htm">Exclusive
    Agreement between Co-Diagnostics, Inc. and DNA Logix, Inc., dated April 18, 2014</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft
    Registration Statement (Exhibit 10.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">377-01467</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.2<sup>#</sup></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315220022110/ex4-1.htm">Co-Diagnostics,
    Inc. Amended and Restated 2015 Long Term Incentive Plan</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    S-8/A </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">11/20/20</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-237684</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.3</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000147793217002536/codx_ex10138.htm">Form
    of Indemnification Agreement</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    S-1/A (Exhibit 10.13.8) </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">05/24/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-217542</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.4</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000147793217002006/axdx_ex1016.htm">Shareholders&#8217;
    Agreement between Co-Diagnostics and Synbiotics Limited, dated January 27, 2017</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    S-1 (Exhibit 10.16)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">04/28/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-217542</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.5</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000147793217002006/axdx_ex1017.htm">Amended
    Exclusive License Agreement between Co-Diagnostics, Brent Satterfield, and DNA Logix, Inc., dated January 1, 2017</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    S-1 (Exhibit 10.17)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">04/28/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-217542</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.6</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex10-6.htm">Warrant
    Agreement between Co-Diagnostics, Inc and VStock Transfer, LLC. Dated December 31, 2021 (ACI Warrant)</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 10.6)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/24/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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


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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.7</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex10-7.htm">Warrant
    Agreement between Co-Diagnostics, Inc and VStock Transfer, LLC. Dated December 31, 2021 (IDMO Warrant)</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 2.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 10.7)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/24/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.8</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315220003091/ex10-1.htm">Form
    of Securities Purchase Agreement, dated February 27, 2020</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 10.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">02/27/20</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.9</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex10-9.htm">Lease
    Agreement 2401 Foothill Drive</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Form
    10-K (Exhibit 10.9)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/24/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.9.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex10-9_1.htm">Amendment
    #1 to Lease</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 10.9.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/24/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.9.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315222007662/ex10-9_2.htm">Amendment
    #2 to Lease</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Form
    10-K (Exhibit 10.9.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/24/22</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.10#</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223017799/ex10-1.htm" style="-sec-extract: exhibit">Co-Diagnostics, Inc. Change in Control Plan</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 10.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">05/16/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.11</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223027538/ex10-1.htm" style="-sec-extract: exhibit">Commercial
Lease Agreement, dated June 1, 2023, between Ozone Biotech, LLC and Co-Diagnostics, Inc.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-Q (Exhibit 10.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">08/10/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.12</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223040050/ex10-1.htm" style="-sec-extract: exhibit">Commercial Lease Agreement, dated September 18, 2023, between Ge Estate, LLC and Co-Diagnostics, Inc.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-Q (Exhibit 10.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">11/09/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.13</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223007975/ex4-9.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Common Stock Purchase Warrant issued to Coltrin &amp; Associates dated October 31, 2019</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registration
    Statement (Exhibit 4.9)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/16/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-270628</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.14</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223007975/ex4-10.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Common Stock Purchase Warrant issued to Coltrin &amp; Associates dated February 6, 2020</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registration
    Statement (Exhibit 4.10)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/16/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-270628</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.15</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223007975/ex4-11.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Common Stock Purchase Warrant issued to Coltrin &amp; Associates dated February 6, 2020</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registration
    Statement (Exhibit 4.11)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/16/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-270628</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.16</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315223007975/ex4-12.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amendment dated July 31, 2020 to Common Stock Purchase Warrant issued to Coltrin &amp; Associates dated October 31, 2019</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registration
    Statement (Exhibit 4.12)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/16/23</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-270628</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">14.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1692415/000149315220005305/ex14-1.htm">Code
    of Ethics for Senior Financial Officers</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 14.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/30/20</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex21-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subsidiaries of Registrant</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex23-1.htm">Consent of Tanner LLC</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex23-2.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consent of Haynie &amp; Company</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex31-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Chief Executive Officer pursuant to section 302 of the Sarbanes-Oxley Act of 2002</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex31-2.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Financial Officer pursuant to section 302 of the Sarbanes-Oxley Act of 2002</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex32-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Chief Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex32-2.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">97</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex97.htm">Co-Diagnostics, Inc. Clawback Policy</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101
    SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase">iXBRL
    (INline Extensible Business Reporting Language)</span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">information
    is furnished and not filed for purposes of Section 11 and 12 of the Securities Act of 1933 and Section 18 of the Securities Exchange
    Act of 1934.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.85in; text-indent: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>#</sup>Management
Contract or Compensatory Plan or Arrangement</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.85in; text-indent: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*Schedules
and exhibits to these Exhibits have been omitted pursuant to Item 601(b)(2) of Regulation S-K. The Company agrees to furnish supplementally
a copy of any omitted schedule or exhibit to the SEC upon request.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.85in; text-indent: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">+
Portions of Exhibit 2.1 and Exhibit 2.2 have been omitted as they contain information that (i) is not material and (ii) is the type of
information the issuer both customarily and actually treats as private and confidential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
16. Form 10-K Summary.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 67; Value: 34 -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->67<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>SIGNATURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed
on its behalf by the undersigned thereunto duly authorized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CO-DIAGNOSTICS,
    INC.</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 3%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 47%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 14, 2024</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:
    </span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Dwight Egan</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight
    Egan</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Director</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Executive Officer)</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Brian Brown</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Financial and Accounting Officer</span></p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the
registrant and in the capacities and on the date indicated.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 28%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Signature</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Title</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 28%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Date</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Dwight Egan</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    14, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight
    Egan</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Executive Officer)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Brian Brown</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    14, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Financial and Accounting Officer)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Eugene Durenard</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    14, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Edward Murphy</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    14, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    James Nelson</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    14, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Richard Serbin</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    14, 2024</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    Serbin</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 68; Options: Last -->
    <div style="border-bottom: Black 1.5pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->68<!-- Field: /Sequence --></td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-4.1
<SEQUENCE>2
<FILENAME>ex4-1.htm
<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: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
4.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>DESCRIPTION
OF REGISTRANT&rsquo;S SECURITIES REGISTERED UNDER SECTION 12</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>OF
THE SECURITIES EXCHANGE ACT OF 1934, AS AMENDED</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following description of our capital stock summarizes certain provisions of articles of incorporation, as amended (the &ldquo;<B>Articles
of Incorporation</B>&rdquo;), our bylaws (the &ldquo;<B>Bylaws</B>&rdquo;), and applicable provisions of law. Such summaries do not purport
to be complete and are subject to, and are qualified in their entirety by reference to, all of the provisions of our Articles of Incorporation
and our Bylaws, including the definitions therein of certain terms, and all of the applicable provisions of law. Copies of our Articles
of Incorporation and our Bylaws are filed or incorporated by reference as exhibits to our Annual Report on Form 10-K.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">References
in this Exhibit to the &ldquo;Company,&rdquo; &ldquo;us,&rdquo; &ldquo;we,&rdquo; and &ldquo;our&rdquo; are solely to Co-Diagnostics,
Inc. and not to any of its subsidiaries, unless the context requires otherwise.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>DESCRIPTION
OF COMMON STOCK</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Authorized
Capital Stock</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to our Articles of Incorporation, our authorized capital stock presently consists of 100,000,000 shares of Common Stock, par value $0.001
per share, and 5,000,000 shares of &ldquo;blank check&rdquo; preferred stock, par value $0.001 per share.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Common
Stock</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Fully
Paid and Non-Assessable Shares; No Liability for Corporate Obligations</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
of the outstanding shares of Common Stock are fully paid and non-assessable. A share of Common Stock is fully paid and non-assessable
if such share has been issued for consideration legally permissible under the Utah Revised Business Corporation Act with a value at least
equal to the par value per share of Common Stock. Holders of fully paid and non-assessable shares of the Common Stock will not be liable
for any obligations or liabilities of the Company that the Company may fail to discharge.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Voting
Rights</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each
holder of shares of Common Stock is entitled to one vote for each share owned of record on all matters submitted to a vote of shareholders.
Except as noted below or as otherwise required by the Utah Revised Business Corporation Act, the vote of shareholders is required to
decide any matter brought before a shareholder meeting at which a quorum is present. The holders of a majority of the outstanding shares
of our stock must approve any amendments to our Articles of Incorporation, any merger or consolidation to which we are a party (other
than parent-subsidiary mergers), any sale of all or substantially all of our assets or our dissolution as a corporation. Our shareholders
do not have cumulative voting rights as to the election of directors.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Dividends</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subject
to the preferential rights of any holders of any series of our preferred stock that may be issued in the future, the holders of shares
of Common Stock are entitled to such dividends and distributions, whether payable in cash or otherwise, as may be declared from time
to time by our board of directors from legally available funds.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have never declared or paid any cash dividends on our capital stock. The payment of dividends on our Common Stock in the future will
depend on our earnings, capital requirements, operating and financial condition, and such other factors as our board of directors may
consider appropriate. We currently expect to use all available funds to finance the future development and expansion of our business
and do not anticipate paying dividends on our Common Stock in the foreseeable future.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Liquidation
Distributions</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subject
to the preferential rights of any holders of any series of our preferred stock that may be issued in the future, upon our liquidation,
dissolution, or winding-up, and after payment of all prior claims against our assets and our outstanding obligations, the holders&rsquo;
shares of Common Stock will be entitled to receive, pro rata, all of our remaining assets.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Preemptive,
Conversion, Redemption, or Similar Rights</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
holders of shares of Common Stock are not entitled to any preemptive or other similar rights to subscribe for or acquire additional shares
of Common Stock or any other securities of the Company. The shares of Common Stock are not subject to conversion or redemption by the
Company and the holders of shares of Common Stock do not have any right or option to convert such shares into any other security or property
of the Company or to cause the Company to redeem such shares of Common Stock. There are no sinking fund provisions applicable to the
Common Stock.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Listing</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Shares
of the Common Stock are listed for trading on the NASDAQ Capital Markets under the symbol &ldquo;CODX.&rdquo;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Transfer
Agent and Registrar</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
transfer agent and registrar for the Common Stock is VStock Transfer Company, Inc. located at 18 Lafayette Pl, Woodmere, New York 11598.
Its telephone number is (212) 828-8436.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Preferred
Stock</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Shares
of our preferred stock are <B>NOT</B> listed for trading. The description herein is provided solely to show the potential effect on our
Common Stock.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Articles of Incorporation authorizes 5,000,000 shares of &ldquo;blank check&rdquo; preferred stock, par value $0.001 per share, of which
30,000 have been designated as Series A Convertible Preferred Stock.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
30,000 previously outstanding shares of Series A Preferred Stock were converted into Common Stock during 2020 and 2019. The board of
directors of the Company may provide for the issue of any or all of the unissued and undesignated shares of the preferred stock in one
or more series, and to fix the number of shares and to determine or alter for each such series, such voting powers, full or limited,
or no voting powers, and such designation, preferences, and relative, participating, optional, or other rights and such qualifications,
limitations, or restrictions thereof, as shall be stated and expressed in the resolution or resolutions adopted by the board of directors
providing for the issuance of such shares and as may be permitted by law, without shareholder approval.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
board of directors has the right to establish one or more series of preferred stock without shareholder approval. Unless required by
law or by any stock exchange on which our Common Stock is listed, the authorized shares of preferred stock will be available for issuance
at the discretion of our board of directors without further action by our shareholders. Our board of directors is able to determine,
with respect to any series of preferred stock, the terms and rights of that series, including:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    designation of the series;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    number of shares of the series;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">whether
    dividends, if any, will be cumulative or non-cumulative and the dividend rate, if any, of the series;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    dates at which dividends, if any, will be payable;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    redemption rights and price or prices, if any, for shares of the series;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    terms and amounts of any sinking fund provided for the purchase or redemption of shares of the series;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    amounts payable on shares of the series in the event of any voluntary or involuntary liquidation, dissolution, or winding-up of the
    affairs of our company;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">whether
    the shares of the series will be convertible into shares of any other class or series, or any other security, of our company or any
    other entity, and, if so, the specification of the other class or series or other security, the conversion price or prices or rate
    or rates and provisions for any adjustments to such prices or rates, the date or dates as of which the shares will be convertible,
    and all other terms and conditions upon which the conversion may be made;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    ranking of such series with respect to dividends and amounts payable on our liquidation, dissolution, or winding-up, which may include
    provisions that such series will rank senior to our Common Stock with respect to dividends and those distributions;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">restrictions
    on the issuance of shares of the same series or any other class or series; or</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">voting
    rights, if any, of the holders of the series.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
issuance of preferred stock could adversely affect, among other things, the voting power of holders of Common Stock and the likelihood
that shareholders will receive dividend payments and payments upon our liquidation, dissolution, or winding up. The issuance of preferred
stock could also have the effect of delaying, deferring, or preventing a change in control of us.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
we issue shares of preferred stock, the shares will be fully paid and nonassessable and will not have, or be subject to, any preemptive
or similar rights.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 3; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>3
<FILENAME>ex21-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
21.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">List
of Subsidiaries</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>LIST
OF SUBSIDIARIES</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc. (the &ldquo;Company&rdquo;) has the following direct and indirect subsidiaries:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font-weight: bold; text-align: justify; border-bottom: Black 1.5pt solid">Subsidiary Name</TD><TD STYLE="font-weight: bold; padding-bottom: 1.5pt">&nbsp;</TD>
    <TD STYLE="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid">Jurisdiction of Formation</TD><TD STYLE="font-weight: bold; padding-bottom: 1.5pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid">Percentage of Ownership</TD><TD STYLE="padding-bottom: 1.5pt; font-weight: bold">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: right">&nbsp;</TD><TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="width: 62%; text-align: justify">DNA Logix, Inc.</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 16%; text-align: justify">Utah</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 16%; text-align: right">100</TD><TD STYLE="width: 1%; text-align: left">%</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: justify">Idaho Molecular, Inc.</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">Idaho</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">100</TD><TD STYLE="text-align: left">%</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: justify">Advanced Conceptions, Inc.</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">Utah</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">100</TD><TD STYLE="text-align: left">%</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>



</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>ex23-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
23.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CONSENT
OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Board of Directors</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc.:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
consent to the incorporation by reference in the registration statements (Nos. 333-270628, 333-226835, 333-237684 and 333-269350) on
Forms S-3 and S-8 of Co-Diagnostics, Inc. of our report dated March 14, 2024 with respect to the consolidated balance sheets of Co-Diagnostics,
Inc. as of December 31, 2023, and the related consolidated statements of operations and comprehensive loss, changes in stockholders&rsquo;
equity, and cash flows for the year then ended, and the related notes (collectively, the &ldquo;consolidated financial statements&rdquo;),
which report appears in the December 31, 2023 annual report on Form 10-K of Co-Diagnostics, Inc.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
Tanner LLC</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Salt
Lake City, Utah</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
14, 2024</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>5
<FILENAME>ex23-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
23.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CONSENT</B> <B>OF
INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B>&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
consent to the incorporation by reference in Registration Statements No. 333-270628 and No. 333-226835 on Form S-3 and 333-237684 and
333-269350 on Form S-8 of Co-Diagnostics, Inc. of our report dated March 16, 2023, relating to our audit of the consolidated financial
statements for the year ended December 31, 2022 which appear in this Annual Report on Form 10-K of Co-Diagnostics, Inc.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
Haynie &amp; Company</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Salt
Lake City, Utah</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
14, 2024</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>



</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>6
<FILENAME>ex31-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
31.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
PURSUANT TO SECTION 302 OF THE SARBANES OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AND
RULE 13A-14 OF THE EXCHANGE ACT OF 1934</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>CERTIFICATION</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Dwight Egan, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this annual report on Form 10-K of Co-Diagnostics, Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary
    to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to
    the period covered by this report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material
    respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in
    this report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange
    Act Rules 13a &ndash; 15(f) and 15d &ndash; 15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
    within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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 (the registrant&rsquo;s fourth fiscal quarter in the case of the annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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 control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 14, 2024</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Dwight Egan</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight
    Egan</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Principal Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>



</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>7
<FILENAME>ex31-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
31.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
PURSUANT TO SECTION 302 OF THE SARBANES OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AND
RULE 13A-14 OF THE EXCHANGE ACT OF 1934</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>CERTIFICATION</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Brian Brown, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this annual report on Form 10-K of Co-Diagnostics, Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary
    to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to
    the period covered by this report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material
    respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in
    this report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange
    Act Rules 13a &ndash; 15(f) and 15d &ndash; 15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
    within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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 (the registrant&rsquo;s fourth fiscal quarter in the case of the annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; 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 control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 14, 2024</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Brian Brown</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer and Principal Financial and Accounting Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>



</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>8
<FILENAME>ex32-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
32.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
OF THE CHIEF EXECUTIVE OFFICER</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURSUANT
TO 18 U.S. C. SECTION 1350</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AS
ADOPTED PURSUANT TO</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SECTION
906 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the Annual Report of Co-Diagnostics, Inc. (the &ldquo;Company&rdquo;) on Form 10-K for the year ended December 31, 2023,
as filed with the Securities and Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Dwight Egan, Chief Executive Officer
of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that,
to my knowledge:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 24px; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    Report fully complies with the requirements of Section 13 (a) or 15 (d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    information contained in the Report fairly presents, in all material respects, the financial condition and results of operations
    of the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 14, 2024</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Dwight Egan</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight
    Egan</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Principal Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>



</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>9
<FILENAME>ex32-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
32.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
OF THE PRINCIPAL FINANCIAL OFFICER</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURSUANT
TO 18 U.S. C. SECTION 1350</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AS
ADOPTED PURSUANT TO</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SECTION
906 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the Annual Report of Co-Diagnostics, Inc. (the &ldquo;Company&rdquo;) on Form 10-K for the year ended December 31, 2023
as filed with the Securities and Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Brian Brown, Chief Financial Officer
of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that,
to my knowledge:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 24px; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    Report fully complies with the requirements of Section 13 (a) or 15 (d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    information contained in the Report fairly presents, in all material respects, the financial condition and results of operations
    of the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 14, 2024</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Brian Brown</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer and Principal Financial and Accounting Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 73; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>
































































































</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>10
<FILENAME>ex97.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
97</B></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CO-DIAGNOSTICS,
INC.</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">INCENTIVE
COMPENSATION RECOVERY POLICY</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
<U>Introduction</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Board of Directors of Co-Diagnostics, Inc. (the &ldquo;<B>Company</B>&rdquo;) believes that it is in the best interests of the Company
and its shareholders to create and maintain a culture that emphasizes integrity and accountability and that reinforces the Company&rsquo;s
compensation philosophy. The Board has therefore adopted this policy, which provides for the recovery of erroneously awarded incentive
compensation in the event that the Company is required to prepare an accounting restatement due to material noncompliance of the Company
with any financial reporting requirements under the federal securities laws (the &ldquo;<B>Policy</B>&rdquo;). This Policy is designed
to comply with Section 10D of the Securities Exchange Act of 1934, as amended (the &ldquo;<B>Exchange Act</B>&rdquo;), related rules
and the listing standards of Nasdaq Stock Market or any other securities exchange on which the Company&rsquo;s shares are listed in the
future.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
<U>Administration</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy shall be administered by the Board or, if so designated by the Board, the Compensation Committee (the &ldquo;<B>Committee</B>&rdquo;),
in which case, all references herein to the Board shall be deemed references to the Committee. Any determinations made by the Board shall
be final and binding on all affected individuals.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
<U>Covered Executives</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unless
and until the Board determines otherwise, for purposes of this Policy, the term &ldquo;<B>Covered Executive</B>&rdquo; means a current
or former employee who is or was identified by the Company as the Company&rsquo;s president, principal financial officer, principal accounting
officer (or if there is no such accounting officer, the controller), any vice-president of the Company in charge of a principal business
unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or
any other person (including any executive officer of the Company&rsquo;s subsidiaries or affiliates) who performs similar policy-making
functions for the Company. &ldquo;Policy-making function&rdquo; is not intended to include policy-making functions that are not significant.
&ldquo;Covered Executives&rdquo; will include, at minimum, the executive officers identified by the Company pursuant to Item 401(b) of
Regulation S-K of the Exchange Act.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy covers Incentive Compensation received by a person after beginning service as a Covered Executive and who served as a Covered
Executive at any time during the performance period for that Incentive Compensation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="text-align: center; width: 34%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.
<U>Recovery: Accounting Restatement</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the event the Company is required to prepare an Accounting Restatement, the Company will recover reasonably promptly any excess Incentive
Compensation received by any Covered Executive during the three completed fiscal years immediately preceding the date on which the Company
is required to prepare an Accounting Restatement, including transition periods resulting from a change in the Company&rsquo;s fiscal
year as provided in Rule 10D-1 of the Exchange Act. Incentive Compensation is deemed <B>&ldquo;received&rdquo; </B>in the Company&rsquo;s
fiscal period during which the financial reporting measure specified in the Incentive Compensation award is attained, even if the payment
or grant of the Incentive Compensation occurs after the end of that period. The determination of the time when the Company is &ldquo;required&rdquo;
to prepare an Accounting Restatement shall be made in accordance with applicable SEC and national securities exchange rules and regulations.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Definition
    of Accounting Restatement.</U></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the purposes of this Policy, an &ldquo;<B>Accounting Restatement</B>&rdquo; means the Company is required to prepare an accounting restatement
of its financial statements filed with the Securities and Exchange Commission (the &ldquo;<B>SEC</B>&rdquo;) due to the Company&rsquo;s
material noncompliance with any financial reporting requirements under the federal securities laws (including any required accounting
restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements,
or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current
period).</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
determination of the time when the Company is <B>&ldquo;required&rdquo;</B> to prepare an Accounting Restatement shall be made in accordance
with applicable SEC and national securities exchange rules and regulations.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">An
Accounting Restatement does not include situations in which financial statement changes did not result from material non-compliance with
financial reporting requirements, such as, but not limited to retrospective: (i) application of a change in accounting principles; (ii)
revision to reportable segment information due to a change in the structure of the Company&rsquo;s internal organization; (iii) reclassification
due to a discontinued operation; (iv) application of a change in reporting entity, such as from a reorganization of entities under common
control; (v) adjustment to provision amounts in connection with a prior business combination; and (vi) revision for stock splits, stock
dividends, reverse stock splits or other changes in capital structure.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 5.4pt; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Definition
    of Incentive Compensation</U>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
purposes of this Policy, &ldquo;<B>Incentive Compensation</B>&rdquo; means any compensation that is granted, earned, or vested based
wholly or in part upon the attainment of a &ldquo;financial reporting measure&rdquo; (as defined in paragraph (b) below), including,
for example, bonuses or awards under the Company&rsquo;s short and long-term incentive plans, grants and awards under the Company&rsquo;s
equity incentive plans, and contributions of such bonuses or awards to the Company&rsquo;s deferred compensation plans or other employee
benefit plans. Incentive Compensation does not include awards which are granted, earned and vested without regard to attainment of financial
reporting measures, such as time-vesting awards, discretionary awards and awards based wholly on subjective standards, strategic measures
or operational measures.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="text-align: center; width: 34%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Financial Reporting Measures</U>.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
reporting measures are those that are determined and presented in accordance with the accounting principles used in preparing the Company&rsquo;s
financial statements (including non-GAAP financial measures) and any measures derived wholly or in part from such financial measures.
For the avoidance of doubt, financial reporting measures include stock price and total shareholder return. A measure need not be presented
within the financial statements or included in a filing with the SEC to constitute a financial reporting measure for purposes of this
Policy.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Excess Incentive Compensation: Amount Subject to Recovery</U>.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount(s) to be recovered from the Covered Executive will be the amount(s) by which the Covered Executive&rsquo;s Incentive Compensation
for the relevant period(s) exceeded the amount(s) that the Covered Executive otherwise would have received had such Incentive Compensation
been determined based on the restated amounts contained in the Accounting Restatement. All amounts shall be computed without regard to
taxes paid.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
Incentive Compensation based on financial reporting measures such as stock price or total shareholder return, where the amount of excess
compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the Board will
calculate the amount to be reimbursed based on a reasonable estimate of the effect of the Accounting Restatement on such financial reporting
measure upon which the Incentive Compensation was received. The Company will maintain documentation of that reasonable estimate and will
provide such documentation to the applicable national securities exchange.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Method of Recovery</U>.</FONT></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Board will determine, in its sole discretion, the method(s) for recovering reasonably promptly excess Incentive Compensation hereunder.
Such methods may include, without limitation:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="width: 1in">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">requiring
    reimbursement of compensation previously paid;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(ii)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">forfeiting
    any compensation contribution made under the Company&rsquo;s deferred compensation plans, as well as any matching amounts and earnings
    thereon;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iii)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">offsetting
    the recovered amount from any compensation that the Covered Executive may earn or be awarded in the future (including, for the avoidance
    of doubt, recovering amounts earned or awarded in the future to such individual equal to compensation paid or deferred into tax&ndash;qualified
    plans or plans subject to the Employee Retirement Income Security Act of 1974 (collectively, <B>&ldquo;Exempt Plans&rdquo;</B>);
    <I>provided that,</I> no such recovery will be made from amounts held in any Exempt Plan of the Company);</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="text-align: center; width: 34%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="width: 1in">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iv)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">taking
    any other remedial and recovery action permitted by law, as determined by the Board; or</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iv)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">some
    combination of the foregoing.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
<U>No Indemnification or Advance</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subject
to applicable law, the Company shall not indemnify, including by paying or reimbursing for premiums for any insurance policy covering
any potential losses, any Covered Executives against the loss of any erroneously awarded Incentive Compensation, nor shall the Company
advance any costs or expenses to any Covered Executives in connection with any action to recover excess Incentive Compensation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.
<U>Interpretation</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Board is authorized to interpret and construe this Policy and to make all determinations necessary, appropriate or advisable for the
administration of this Policy. It is intended that this Policy be interpreted in a manner that is consistent with the requirements of
Section 10D of the Exchange Act and any applicable rules or standards adopted by the SEC or any national securities exchange on which
the Company&rsquo;s securities are listed.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.
<U>Effective Date</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective date of this Policy is October 2, 2023 (the &ldquo;<B>Effective Date</B>&rdquo;). This Policy applies to Incentive Compensation
received by Covered Executives on or after the Effective Date that results from attainment of a financial reporting measure based on
or derived from financial information for any fiscal period ending on or after the Effective Date. In addition, this Policy is intended
to be and will be incorporated as an essential term and condition of any Incentive Compensation agreement, change-in-control plan, or
any other plan or program that the Company establishes or maintains on or after the Effective Date.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.
<U>Amendment and Termination</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Board may amend this Policy from time to time in its discretion and shall amend this Policy as it deems necessary to reflect changes
in regulations adopted by the SEC under Section 10D of the Exchange Act and to comply with any rules or standards adopted by the Nasdaq
Stock Market or any other securities exchange on which the Company&rsquo;s shares are listed in the future.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="text-align: center; width: 34%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.
<U>Other Recovery Rights</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Board intends that this Policy will be applied to the fullest extent of the law. Upon receipt of this Policy, each Covered Executive
is required to complete the Receipt and Acknowledgement attached as Schedule A to this Policy. The Board may require that any employment
agreement or similar agreement relating to Incentive Compensation entered into on or after the Effective Date shall, as a condition to
the grant of any benefit thereunder, require a Covered Executive to agree to abide by the terms of this Policy. Any right of recovery
under this Policy is in addition to, and not in lieu of, any (i) other remedies or rights of compensation recovery that may be available
to the Company pursuant to the terms of any similar policy in any employment agreement, or similar agreement relating to Incentive Compensation,
unless any such agreement expressly prohibits such right of recovery, and (ii) any other legal remedies available to the Company. The
provisions of this Policy are in addition to (and not in lieu of) any rights to repayment the Company may have under Section 304 of the
Sarbanes-Oxley Act of 2002 and other applicable laws.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.
<U>Impracticability</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company shall recover any excess Incentive Compensation in accordance with this Policy, except to the extent that certain conditions
are met and the Board has determined that such recovery would be impracticable, all in accordance with Rule 10D-1 of the Exchange Act
and the Nasdaq Stock Market or any other securities exchange on which the Company&rsquo;s shares are listed in the future.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">11.
<U>Successors</U><FONT STYLE="font-weight: normal">.</FONT></FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy shall be binding upon and enforceable against all Covered Executives and their beneficiaries, heirs, executors, administrators
or other legal representatives.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="text-align: center; width: 34%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Schedule
A</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>INCENTIVE-BASED
COMPENSATION CLAWBACK POLICY</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>RECEIPT
AND ACKNOWLEDGEMENT</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
__________________________________________, hereby acknowledge that I have received and read a copy of the Incentive Compensation Recovery
Policy. As a condition of my receipt of any Incentive Compensation as defined in the Policy, I hereby agree to the terms of the Policy.
I further agree that if recovery of excess Incentive Compensation is required pursuant to the Policy, the Company shall, to the fullest
extent permitted by governing laws, require such recovery from me up to the amount by which the Incentive Compensation received by me,
and amounts paid or payable pursuant or with respect thereto, constituted excess Incentive Compensation. If any such reimbursement, reduction,
cancelation, forfeiture, repurchase, recoupment, offset against future grants or awards and/or other method of recovery does not fully
satisfy the amount due, I agree to immediately pay the remaining unpaid balance to the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 6; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="text-align: center; width: 34%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD><TD STYLE="width: 33%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>11
<FILENAME>codx-20231231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.21a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWaiFubP9z5Z82ekhvWB3bbkaryUlqpX1Dy2vRllWQcgK -->
<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:CODX="http://codiagnostics.com/20231231" elementFormDefault="qualified" targetNamespace="http://codiagnostics.com/20231231">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://codiagnostics.com/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://codiagnostics.com/role/BalanceSheets" id="BalanceSheets">
          <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://codiagnostics.com/role/BalanceSheetsParenthetical" id="BalanceSheetsParenthetical">
          <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://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" id="StatementsOfOperationsAndComprehensiveLoss">
          <link:definition>00000004 - Statement - Consolidated Statements of Operations and Comprehensive Loss</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" id="StatementOfChangesInStockholdersEquity">
          <link:definition>00000005 - Statement - Consolidated Statement of Changes in Stockholders' Equity</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
          <link:definition>00000006 - Statement - Consolidated Statements of Cash Flows</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" id="OverviewAndBasisOfPresentation">
          <link:definition>995512 - Disclosure - Overview and Basis of Presentation</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://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
          <link:definition>995513 - Disclosure - Summary of Significant Accounting Policies</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" id="CashCashEquivalentsAndFinancialInstruments">
          <link:definition>995514 - Disclosure - Cash, Cash Equivalents, and Financial Instruments</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://codiagnostics.com/role/FairValueMeasurements" id="FairValueMeasurements">
          <link:definition>995515 - Disclosure - Fair Value Measurements</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/PropertyAndEquipment" id="PropertyAndEquipment">
          <link:definition>995516 - Disclosure - Property and Equipment</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
          <link:definition>995517 - Disclosure - Goodwill and Intangible 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://codiagnostics.com/role/AccruedExpenses" id="AccruedExpenses">
          <link:definition>995518 - Disclosure - Accrued Expenses</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://codiagnostics.com/role/Revenue" id="Revenue">
          <link:definition>995519 - Disclosure - 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://codiagnostics.com/role/EarningsPerShare" id="EarningsPerShare">
          <link:definition>995520 - Disclosure - Earnings per Share</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/Stock-basedCompensation" id="Stock-basedCompensation">
          <link:definition>995521 - Disclosure - Stock-Based Compensation</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>995522 - Disclosure - Income Taxes</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
          <link:definition>995523 - 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://codiagnostics.com/role/ShareRepurchaseProgram" id="ShareRepurchaseProgram">
          <link:definition>995524 - Disclosure - Share Repurchase Program</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
          <link:definition>995525 - 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://codiagnostics.com/role/SubsequentEvents" id="SubsequentEvents">
          <link:definition>995526 - 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://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
          <link:definition>995527 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" id="CashCashEquivalentsAndFinancialInstrumentsTables">
          <link:definition>995528 - Disclosure - Cash, Cash Equivalents, and Financial Instruments (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://codiagnostics.com/role/FairValueMeasurementsTables" id="FairValueMeasurementsTables">
          <link:definition>995529 - Disclosure - Fair Value Measurements (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" id="PropertyAndEquipmentTables">
          <link:definition>995530 - Disclosure - Property and Equipment (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
          <link:definition>995531 - Disclosure - Goodwill and Intangible 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://codiagnostics.com/role/AccruedExpensesTables" id="AccruedExpensesTables">
          <link:definition>995532 - Disclosure - Accrued Expenses (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://codiagnostics.com/role/RevenueTables" id="RevenueTables">
          <link:definition>995533 - Disclosure - Revenue (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://codiagnostics.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
          <link:definition>995534 - Disclosure - Earnings per Share (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" id="Stock-basedCompensationTables">
          <link:definition>995535 - Disclosure - Stock-Based Compensation (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://codiagnostics.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
          <link:definition>995536 - Disclosure - Income Taxes (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables">
          <link:definition>995537 - Disclosure - Commitments and Contingencies (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramTables" id="ShareRepurchaseProgramTables">
          <link:definition>995538 - Disclosure - Share Repurchase Program (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://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" id="SummaryOfSignificantAccountingPoliciesDetailsNarrative">
          <link:definition>995539 - Disclosure - 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://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" id="ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails">
          <link:definition>995540 - Disclosure - Schedule of Cash, Cash Equivalents and Marketable Investment Securities (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://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" id="ScheduleOfFairValueAssetsAndLiabilitiesDetails">
          <link:definition>995541 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" id="ScheduleOfChangesInFairValueMeasurementDetails">
          <link:definition>995542 - Disclosure - Schedule of Changes in the Fair Value Measurement (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://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" id="ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails">
          <link:definition>995543 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (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://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" id="ScheduleOfPropertyAndEquipmentDetails">
          <link:definition>995544 - Disclosure - Schedule of Property and Equipment (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://codiagnostics.com/role/ScheduleOfGoodwillDetails" id="ScheduleOfGoodwillDetails">
          <link:definition>995545 - Disclosure - Schedule of Goodwill (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" id="ScheduleOfIntangibleAssetsNetDetails">
          <link:definition>995546 - Disclosure - Schedule of Intangible Assets, Net (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" id="ScheduleOfFutureAmortizationExpenseDetails">
          <link:definition>995547 - Disclosure - Schedule of Future Amortization Expense (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" id="GoodwillAndIntangibleAssetsDetailsNarrative">
          <link:definition>995548 - Disclosure - Goodwill and Intangible 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://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" id="ScheduleOfAccruedExpensesDetails">
          <link:definition>995549 - Disclosure - Schedule of Accrued Expenses (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://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" id="SummaryOfRevenueByGeographicAreaDetails">
          <link:definition>995550 - Disclosure - Summary of Revenue by Geographic Area (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://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" id="ScheduleOfDeferredRevenueDetails">
          <link:definition>995551 - Disclosure - Schedule of Deferred Revenue (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" id="ScheduleOfBasisAndDilutedEarningsPerShareDetails">
          <link:definition>995552 - Disclosure - Schedule of Basis and Diluted Earnings Per Share (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" id="EarningsPerShareDetailsNarrative">
          <link:definition>995553 - Disclosure - Earnings per Share (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://codiagnostics.com/role/ScheduleOfOptionActivityDetails" id="ScheduleOfOptionActivityDetails">
          <link:definition>995554 - Disclosure - Schedule of Option Activity (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" id="ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails">
          <link:definition>995555 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Party (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://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" id="ScheduleOfWarrantActivityDetails">
          <link:definition>995556 - Disclosure - Schedule of Warrant Activity (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" id="ScheduleOfRecognizedStock-basedCompensationExpenseDetails">
          <link:definition>995557 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" id="Stock-basedCompensationDetailsNarrative">
          <link:definition>995558 - Disclosure - Stock-Based Compensation (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" id="ScheduleOfComponentsIncomeTaxProvisionDetails">
          <link:definition>995559 - Disclosure - Schedule of Components Income Tax Provision (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://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" id="ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails">
          <link:definition>995560 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (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://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" id="ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
          <link:definition>995561 - Disclosure - Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" id="ScheduleOfUnrecognizedTaxBenefitsDetails">
          <link:definition>995562 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
          <link:definition>995563 - Disclosure - Income Taxes (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" id="ScheduleOfLeaseExpenseDetails">
          <link:definition>995564 - Disclosure - Schedule of Lease Expense (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" id="ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails">
          <link:definition>995565 - Disclosure - Schedule of Maturities on Company Lease Liabilities (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" id="ScheduleOfOtherInformationRelatedToOperatingLeaseDetails">
          <link:definition>995566 - Disclosure - Schedule of Other Information Related to Operating Lease (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://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
          <link:definition>995567 - 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://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" id="ScheduleOfTreasuryStockDetails">
          <link:definition>995568 - Disclosure - Schedule of Treasury Stock (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" id="ShareRepurchaseProgramDetailsNarrative">
          <link:definition>995569 - Disclosure - Share Repurchase Program (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://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" id="RelatedPartyTransactionsDetailsNarrative">
          <link:definition>995570 - Disclosure - Related Party Transactions (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="codx-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="codx-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="codx-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="codx-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
    <element id="CODX_ProductRevenueMember" name="ProductRevenueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_GrantRevenueMember" name="GrantRevenueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_CustomersMember" name="CustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_TwoCustomersMember" name="TwoCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_OneCustomerMember" name="OneCustomerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_OneGrantingAgencyMember" name="OneGrantingAgencyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_CustomersTogetherMember" name="CustomersTogetherMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_MeasurementInputStrikePriceMember" name="MeasurementInputStrikePriceMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_RestOfWorldMember" name="RestOfWorldMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_TwoThousandFifteenLongTermIncentivePlanMember" name="TwoThousandFifteenLongTermIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockOptionsMember" name="StockOptionsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_LeaseAmendmentMember" name="LeaseAmendmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SethEganMember" name="SethEganMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_WinstonEganMember" name="WinstonEganMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_CoSaraDiagnosticsPvtLtdMember" name="CoSaraDiagnosticsPvtLtdMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_TaxesPayableNoncurrent" name="TaxesPayableNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_GainOnRemeasurementOfAcquisitionContingencies" name="GainOnRemeasurementOfAcquisitionContingencies" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_NoncashLeaseExpense" name="NoncashLeaseExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" name="NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_BusinessAcquisitionMeasurementPeriodAdjustments" name="BusinessAcquisitionMeasurementPeriodAdjustments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments" name="StockIssuedDuringPeriodValueAcquisitionsAdjustments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" name="FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_GrantRevenuePolicyTextBlock" name="GrantRevenuePolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ScheduleOfOperatingLeaseTableTextBlock" name="ScheduleOfOperatingLeaseTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ScheduleOfTreasuryStockTableTextBlock" name="ScheduleOfTreasuryStockTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_GrantFundingRevenue" name="GrantFundingRevenue" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueOfContingentConsiderationToCommonStock" name="FairValueOfContingentConsiderationToCommonStock" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueOfContingentConsiderationToWarrants" name="FairValueOfContingentConsiderationToWarrants" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ContingentConsideredIssuedForBusinessAcquisitions" name="ContingentConsideredIssuedForBusinessAcquisitions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IndefiniteLivedIntangibleAssetUsefulLife" name="IndefiniteLivedIntangibleAssetUsefulLife" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IncreaseDueToPrepaymentsFromCustomers" name="IncreaseDueToPrepaymentsFromCustomers" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IncreaseDueToPrepaymentsFromGrantsReceived" name="IncreaseDueToPrepaymentsFromGrantsReceived" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" name="ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" name="IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" name="IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ClassOfWarrantExercisable" name="ClassOfWarrantExercisable" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ChangeInValuationAllowance" name="ChangeInValuationAllowance" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" name="EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" name="EffectiveIncomeTaxRateReconciliationGoodwillImpairment" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" name="EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DeferredTaxAssetsCosts" name="DeferredTaxAssetsCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DeferredTaxAssetsLeaseLiability" name="DeferredTaxAssetsLeaseLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DeferredTaxAssetsUniformCapitalization" name="DeferredTaxAssetsUniformCapitalization" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DeferredTaxLiabilitiesRightOfUseAsset" name="DeferredTaxLiabilitiesRightOfUseAsset" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" name="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_RepurchasesOfCommonStock" name="RepurchasesOfCommonStock" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_PaymentToRelatedParty" name="PaymentToRelatedParty" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>12
<FILENAME>codx-20231231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.21a -->
    <!-- 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://codiagnostics.com/role/Cover" xlink:href="codx-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheets" xlink:href="codx-20231231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:href="codx-20231231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" xlink:href="codx-20231231.xsd#StatementsOfOperationsAndComprehensiveLoss" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:href="codx-20231231.xsd#StatementOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:href="codx-20231231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:href="codx-20231231.xsd#OverviewAndBasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" xlink:href="codx-20231231.xsd#CashCashEquivalentsAndFinancialInstruments" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurements" xlink:href="codx-20231231.xsd#FairValueMeasurements" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipment" xlink:href="codx-20231231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpenses" xlink:href="codx-20231231.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Revenue" xlink:href="codx-20231231.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShare" xlink:href="codx-20231231.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensation" xlink:href="codx-20231231.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxes" xlink:href="codx-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:href="codx-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgram" xlink:href="codx-20231231.xsd#ShareRepurchaseProgram" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:href="codx-20231231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEvents" xlink:href="codx-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" xlink:href="codx-20231231.xsd#CashCashEquivalentsAndFinancialInstrumentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:href="codx-20231231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:href="codx-20231231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpensesTables" xlink:href="codx-20231231.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RevenueTables" xlink:href="codx-20231231.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareTables" xlink:href="codx-20231231.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:href="codx-20231231.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesTables" xlink:href="codx-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:href="codx-20231231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramTables" xlink:href="codx-20231231.xsd#ShareRepurchaseProgramTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:href="codx-20231231.xsd#ScheduleOfChangesInFairValueMeasurementDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:href="codx-20231231.xsd#ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="codx-20231231.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfGoodwillDetails" xlink:href="codx-20231231.xsd#ScheduleOfGoodwillDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" xlink:href="codx-20231231.xsd#ScheduleOfIntangibleAssetsNetDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:href="codx-20231231.xsd#ScheduleOfAccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:href="codx-20231231.xsd#SummaryOfRevenueByGeographicAreaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:href="codx-20231231.xsd#ScheduleOfDeferredRevenueDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:href="codx-20231231.xsd#ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:href="codx-20231231.xsd#EarningsPerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:href="codx-20231231.xsd#ScheduleOfOptionActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:href="codx-20231231.xsd#ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:href="codx-20231231.xsd#ScheduleOfWarrantActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="codx-20231231.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:href="codx-20231231.xsd#ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:href="codx-20231231.xsd#ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:href="codx-20231231.xsd#ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:href="codx-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfLeaseExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:href="codx-20231231.xsd#ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="codx-20231231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" xlink:href="codx-20231231.xsd#ScheduleOfTreasuryStockDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" xlink:href="codx-20231231.xsd#ShareRepurchaseProgramDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="codx-20231231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheets" 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_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" 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_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" 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="3" 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_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_IncomeTaxReceivable" xlink:label="loc_us-gaapIncomeTaxReceivable" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapIncomeTaxReceivable" 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="6" 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_NotesAndLoansReceivableNetCurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapNotesAndLoansReceivableNetCurrent" 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_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" 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_RealEstateInvestmentsJointVentures" xlink:label="loc_us-gaapRealEstateInvestmentsJointVentures" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapRealEstateInvestmentsJointVentures" 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_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" 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="3" 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_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" 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_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TaxesPayableNoncurrent" xlink:label="loc_CODXTaxesPayableNoncurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_CODXTaxesPayableNoncurrent" 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_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" 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="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" 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_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" 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:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesNoncurrent" 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: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_us-gaapStockholdersEquity" 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_us-gaapStockholdersEquity" 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_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapTreasuryStockValue" 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_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" 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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" 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="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" 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_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://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" xlink:title="00000004 - Statement - Consolidated Statements of Operations and Comprehensive Loss">
      <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_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" 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_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <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-gaapOperatingExpenses" 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_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" 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_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" 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_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" 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_GoodwillImpairmentLoss" xlink:label="loc_us-gaapGoodwillImpairmentLoss" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGoodwillImpairmentLoss" 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-gaapOperatingExpenses" 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_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapInterestIncomeOther" 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_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" 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_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:label="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" 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_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" 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-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapNonoperatingIncomeExpense" 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-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" 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_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" 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_OtherComprehensiveIncomeLossBeforeTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax" xlink:to="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" 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_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" 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_GoodwillImpairmentLoss" xlink:label="loc_us-gaapGoodwillImpairmentLoss" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGoodwillImpairmentLoss" 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="4" 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="codx-20231231.xsd#CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:label="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_NoncashLeaseExpense" xlink:label="loc_CODXNoncashLeaseExpense" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_CODXNoncashLeaseExpense" 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_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" 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_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" 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_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" 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_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" 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_InventoryWriteDown" xlink:label="loc_us-gaapInventoryWriteDown" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapInventoryWriteDown" 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_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" 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="14" 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_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="15" 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_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="16" 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_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" 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_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="1" 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_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:label="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" 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_PaymentsToAcquireMarketableSecurities" xlink:label="loc_us-gaapPaymentsToAcquireMarketableSecurities" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireMarketableSecurities" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaapPaymentsForRepurchaseOfCommonStock" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsForRepurchaseOfCommonStock" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" 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-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" 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-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:title="995512 - Disclosure - Overview and Basis of Presentation" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="995513 - Disclosure - Summary of Significant Accounting Policies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" xlink:title="995514 - Disclosure - Cash, Cash Equivalents, and Financial Instruments" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurements" xlink:title="995515 - Disclosure - Fair Value Measurements" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipment" xlink:title="995516 - Disclosure - Property and Equipment" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:title="995517 - Disclosure - Goodwill and Intangible Assets" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpenses" xlink:title="995518 - Disclosure - Accrued Expenses" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Revenue" xlink:title="995519 - Disclosure - Revenue" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShare" xlink:title="995520 - Disclosure - Earnings per Share" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensation" xlink:title="995521 - Disclosure - Stock-Based Compensation" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxes" xlink:title="995522 - Disclosure - Income Taxes" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:title="995523 - Disclosure - Commitments and Contingencies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgram" xlink:title="995524 - Disclosure - Share Repurchase Program" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:title="995525 - Disclosure - Related Party Transactions" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEvents" xlink:title="995526 - Disclosure - Subsequent Events" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995527 - Disclosure - Summary of Significant Accounting Policies (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" xlink:title="995528 - Disclosure - Cash, Cash Equivalents, and Financial Instruments (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:title="995529 - Disclosure - Fair Value Measurements (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:title="995530 - Disclosure - Property and Equipment (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="995531 - Disclosure - Goodwill and Intangible Assets (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpensesTables" xlink:title="995532 - Disclosure - Accrued Expenses (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RevenueTables" xlink:title="995533 - Disclosure - Revenue (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareTables" xlink:title="995534 - Disclosure - Earnings per Share (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:title="995535 - Disclosure - Stock-Based Compensation (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesTables" xlink:title="995536 - Disclosure - Income Taxes (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:title="995537 - Disclosure - Commitments and Contingencies (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgramTables" xlink:title="995538 - Disclosure - Share Repurchase Program (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995539 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:title="995540 - Disclosure - Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:title="995541 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:title="995542 - Disclosure - Schedule of Changes in the Fair Value Measurement (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:title="995543 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="995544 - Disclosure - Schedule of Property and Equipment (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfGoodwillDetails" xlink:title="995545 - Disclosure - Schedule of Goodwill (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" xlink:title="995546 - Disclosure - Schedule of Intangible Assets, Net (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:title="995547 - Disclosure - Schedule of Future Amortization Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="995548 - Disclosure - Goodwill and Intangible Assets (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:title="995549 - Disclosure - Schedule of Accrued Expenses (Details)">
      <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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="loc_us-gaapAccruedPayrollTaxesCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedPayrollTaxesCurrent" 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_AccruedSalesCommissionCurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedSalesCommissionCurrent" 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_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapOtherAccruedLiabilitiesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapOtherAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:title="995550 - Disclosure - Summary of Revenue by Geographic Area (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:title="995551 - Disclosure - Schedule of Deferred Revenue (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:title="995552 - Disclosure - Schedule of Basis and Diluted Earnings Per Share (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:title="995553 - Disclosure - Earnings per Share (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:title="995554 - Disclosure - Schedule of Option Activity (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:title="995555 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Party (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:title="995556 - Disclosure - Schedule of Warrant Activity (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:title="995557 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="995558 - Disclosure - Stock-Based Compensation (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:title="995559 - Disclosure - Schedule of Components Income Tax Provision (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" 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_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" 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_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" 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_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ChangeInValuationAllowance" xlink:label="loc_CODXChangeInValuationAllowance" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_CODXChangeInValuationAllowance" 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_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:title="995560 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" 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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" 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_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationFdiiPercent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationFdiiPercent" 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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationGoodwillImpairment" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationGoodwillImpairment" 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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" 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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" 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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" 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_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherAdjustments" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:title="995561 - Disclosure - Schedule of Deferred Tax Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" 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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsCosts" xlink:label="loc_CODXDeferredTaxAssetsCosts" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_CODXDeferredTaxAssetsCosts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsLeaseLiability" xlink:label="loc_CODXDeferredTaxAssetsLeaseLiability" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_CODXDeferredTaxAssetsLeaseLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsUniformCapitalization" xlink:label="loc_CODXDeferredTaxAssetsUniformCapitalization" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_CODXDeferredTaxAssetsUniformCapitalization" 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_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" 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_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="loc_us-gaapDeferredTaxAssetsTaxCreditCarryforwardsResearch" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxCreditCarryforwardsResearch" 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_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsNet" xlink:to="loc_us-gaapDeferredTaxAssetsGross" 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_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsNet" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" 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_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" 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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" 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_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxLiabilitiesRightOfUseAsset" xlink:label="loc_CODXDeferredTaxLiabilitiesRightOfUseAsset" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_CODXDeferredTaxLiabilitiesRightOfUseAsset" 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_DeferredTaxLiabilitiesOtherComprehensiveIncome" xlink:label="loc_us-gaapDeferredTaxLiabilitiesOtherComprehensiveIncome" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesOtherComprehensiveIncome" 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_DeferredTaxLiabilitiesOther" xlink:label="loc_us-gaapDeferredTaxLiabilitiesOther" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesOther" 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_DeferredTaxAssetsLiabilitiesNet" xlink:label="loc_us-gaapDeferredTaxAssetsLiabilitiesNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsLiabilitiesNet" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsLiabilitiesNet" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:title="995562 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:title="995563 - Disclosure - Income Taxes (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" xlink:title="995564 - Disclosure - Schedule of Lease Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaapLeaseCost" />
      <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:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLeaseCost" xlink:to="loc_us-gaapOperatingLeaseCost" 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_ShortTermLeaseCost" xlink:label="loc_us-gaapShortTermLeaseCost" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLeaseCost" xlink:to="loc_us-gaapShortTermLeaseCost" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:title="995565 - Disclosure - Schedule of Maturities on Company Lease Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="loc_CODXLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_CODXLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:title="995566 - Disclosure - Schedule of Other Information Related to Operating Lease (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995567 - Disclosure - Commitments and Contingencies (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" xlink:title="995568 - Disclosure - Schedule of Treasury Stock (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" xlink:title="995569 - Disclosure - Share Repurchase Program (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="995570 - Disclosure - Related Party Transactions (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>13
<FILENAME>codx-20231231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.21a -->
    <!-- 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://codiagnostics.com/role/Cover" xlink:href="codx-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheets" xlink:href="codx-20231231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:href="codx-20231231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" xlink:href="codx-20231231.xsd#StatementsOfOperationsAndComprehensiveLoss" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:href="codx-20231231.xsd#StatementOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:href="codx-20231231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:href="codx-20231231.xsd#OverviewAndBasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" xlink:href="codx-20231231.xsd#CashCashEquivalentsAndFinancialInstruments" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurements" xlink:href="codx-20231231.xsd#FairValueMeasurements" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipment" xlink:href="codx-20231231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpenses" xlink:href="codx-20231231.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Revenue" xlink:href="codx-20231231.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShare" xlink:href="codx-20231231.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensation" xlink:href="codx-20231231.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxes" xlink:href="codx-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:href="codx-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgram" xlink:href="codx-20231231.xsd#ShareRepurchaseProgram" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:href="codx-20231231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEvents" xlink:href="codx-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" xlink:href="codx-20231231.xsd#CashCashEquivalentsAndFinancialInstrumentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:href="codx-20231231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:href="codx-20231231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpensesTables" xlink:href="codx-20231231.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RevenueTables" xlink:href="codx-20231231.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareTables" xlink:href="codx-20231231.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:href="codx-20231231.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesTables" xlink:href="codx-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:href="codx-20231231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramTables" xlink:href="codx-20231231.xsd#ShareRepurchaseProgramTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:href="codx-20231231.xsd#ScheduleOfChangesInFairValueMeasurementDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:href="codx-20231231.xsd#ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="codx-20231231.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfGoodwillDetails" xlink:href="codx-20231231.xsd#ScheduleOfGoodwillDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" xlink:href="codx-20231231.xsd#ScheduleOfIntangibleAssetsNetDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:href="codx-20231231.xsd#ScheduleOfAccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:href="codx-20231231.xsd#SummaryOfRevenueByGeographicAreaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:href="codx-20231231.xsd#ScheduleOfDeferredRevenueDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:href="codx-20231231.xsd#ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:href="codx-20231231.xsd#EarningsPerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:href="codx-20231231.xsd#ScheduleOfOptionActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:href="codx-20231231.xsd#ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:href="codx-20231231.xsd#ScheduleOfWarrantActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="codx-20231231.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:href="codx-20231231.xsd#ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:href="codx-20231231.xsd#ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:href="codx-20231231.xsd#ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:href="codx-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfLeaseExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:href="codx-20231231.xsd#ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="codx-20231231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" xlink:href="codx-20231231.xsd#ScheduleOfTreasuryStockDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" xlink:href="codx-20231231.xsd#ShareRepurchaseProgramDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="codx-20231231.xsd#RelatedPartyTransactionsDetailsNarrative" 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://codiagnostics.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" xlink:title="00000004 - Statement - Consolidated Statements of Operations and Comprehensive Loss">
      <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="codx-20231231.xsd#CODX_ProductRevenueMember" xlink:label="loc_CODXProductRevenueMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_CODXProductRevenueMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantRevenueMember" xlink:label="loc_CODXGrantRevenueMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_CODXGrantRevenueMember_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_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_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_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="1" />
      <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="2" />
      <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="3" />
      <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="4" />
      <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="5" />
      <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="6" />
      <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_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapDepreciationAndAmortization_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_GoodwillImpairmentLoss" xlink:label="loc_us-gaapGoodwillImpairmentLoss_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapGoodwillImpairmentLoss_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_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapOperatingExpenses_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_NonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNonoperatingIncomeExpenseAbstract_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_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" xlink:to="loc_us-gaapInterestIncomeOther_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_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses_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_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1_70" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:label="loc_CODXGainOnRemeasurementOfAcquisitionContingencies_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" xlink:to="loc_CODXGainOnRemeasurementOfAcquisitionContingencies_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_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments_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_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract_70" xlink:to="loc_us-gaapNonoperatingIncomeExpense_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_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_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_70" 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_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="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_70" 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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_70" xlink:to="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_70" 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_OtherComprehensiveIncomeLossBeforeTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax_70" 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_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax_70" 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_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract_70" 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_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract_70" xlink:to="loc_us-gaapEarningsPerShareBasic_70" 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_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract_70" xlink:to="loc_us-gaapEarningsPerShareDiluted_70" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_70" 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_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_70" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_70" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_70" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_70" xlink:type="arc" order="30" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="loc_us-gaapConvertiblePreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapConvertiblePreferredStockMember_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_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="2" />
      <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_PreferredStockMember" xlink:label="loc_us-gaapPreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapPreferredStockMember_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_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_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_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapTreasuryStockCommonMember_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_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_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_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_80" 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_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_80" 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_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_80" 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_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_80" 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_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" 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_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" 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_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross_80" 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_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross_80" 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_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions_80" 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_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_80" 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_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodValue_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodValue_80" 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_OtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTax_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTax_80" 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_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_80" xlink:type="arc" order="13" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Consolidated Statements of Cash Flows" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:title="995512 - Disclosure - Overview and Basis of Presentation" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="995513 - Disclosure - Summary of Significant Accounting Policies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" xlink:title="995514 - Disclosure - Cash, Cash Equivalents, and Financial Instruments" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurements" xlink:title="995515 - Disclosure - Fair Value Measurements" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipment" xlink:title="995516 - Disclosure - Property and Equipment" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:title="995517 - Disclosure - Goodwill and Intangible Assets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpenses" xlink:title="995518 - Disclosure - Accrued Expenses" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Revenue" xlink:title="995519 - Disclosure - Revenue" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShare" xlink:title="995520 - Disclosure - Earnings per Share" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensation" xlink:title="995521 - Disclosure - Stock-Based Compensation" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxes" xlink:title="995522 - Disclosure - Income Taxes" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:title="995523 - Disclosure - Commitments and Contingencies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgram" xlink:title="995524 - Disclosure - Share Repurchase Program" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:title="995525 - Disclosure - Related Party Transactions" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEvents" xlink:title="995526 - Disclosure - Subsequent Events" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995527 - Disclosure - Summary of Significant Accounting Policies (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" xlink:title="995528 - Disclosure - Cash, Cash Equivalents, and Financial Instruments (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:title="995529 - Disclosure - Fair Value Measurements (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:title="995530 - Disclosure - Property and Equipment (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="995531 - Disclosure - Goodwill and Intangible Assets (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpensesTables" xlink:title="995532 - Disclosure - Accrued Expenses (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RevenueTables" xlink:title="995533 - Disclosure - Revenue (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareTables" xlink:title="995534 - Disclosure - Earnings per Share (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:title="995535 - Disclosure - Stock-Based Compensation (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesTables" xlink:title="995536 - Disclosure - Income Taxes (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:title="995537 - Disclosure - Commitments and Contingencies (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgramTables" xlink:title="995538 - Disclosure - Share Repurchase Program (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995539 - Disclosure - 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="codx-20231231.xsd#CODX_CustomersMember" xlink:label="loc_CODXCustomersMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXCustomersMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TwoCustomersMember" xlink:label="loc_CODXTwoCustomersMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXTwoCustomersMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_OneCustomerMember" xlink:label="loc_CODXOneCustomerMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXOneCustomerMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_OneGrantingAgencyMember" xlink:label="loc_CODXOneGrantingAgencyMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXOneGrantingAgencyMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_CustomersTogetherMember" xlink:label="loc_CODXCustomersTogetherMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXCustomersTogetherMember_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_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="2" />
      <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_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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="3" />
      <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_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_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_AccountsReceivableGrossCurrent" xlink:label="loc_us-gaapAccountsReceivableGrossCurrent_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableGrossCurrent_140" 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_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent_140" 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_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_140" 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_InventoryNet" xlink:label="loc_us-gaapInventoryNet_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryNet_140" 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_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryFinishedGoods_140" 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_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryRawMaterials_140" 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_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryValuationReserves_140" 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_AssetImpairmentCharges" xlink:label="loc_us-gaapAssetImpairmentCharges_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAssetImpairmentCharges_140" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantFundingRevenue" xlink:label="loc_CODXGrantFundingRevenue_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_CODXGrantFundingRevenue_140" 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_DeferredRevenue" xlink:label="loc_us-gaapDeferredRevenue_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeferredRevenue_140" 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_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_140" 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_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_140" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:title="995540 - Disclosure - Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="loc_us-gaapCashAndCashEquivalentsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" 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_CashAndCashEquivalentsAxis" xlink:label="loc_us-gaapCashAndCashEquivalentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" xlink:to="loc_us-gaapCashAndCashEquivalentsAxis" 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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCashAndCashEquivalentsAxis" xlink:to="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" 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_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCashAndCashEquivalentsAxis" xlink:to="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_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_CashMember" xlink:label="loc_us-gaapCashMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="loc_us-gaapCashMember_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_MoneyMarketFundsMember" xlink:label="loc_us-gaapMoneyMarketFundsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="loc_us-gaapMoneyMarketFundsMember_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_USTreasurySecuritiesMember" xlink:label="loc_us-gaapUSTreasurySecuritiesMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="loc_us-gaapUSTreasurySecuritiesMember_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_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_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_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member_20" 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_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member_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_TradingSecuritiesDebtAmortizedCost" xlink:label="loc_us-gaapTradingSecuritiesDebtAmortizedCost_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapTradingSecuritiesDebtAmortizedCost_250" 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_FinancingReceivableAllowanceForCreditLosses" xlink:label="loc_us-gaapFinancingReceivableAllowanceForCreditLosses_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapFinancingReceivableAllowanceForCreditLosses_250" 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_MarketableSecuritiesUnrealizedGainLoss" xlink:label="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss_250" 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_TradingSecurities" xlink:label="loc_us-gaapTradingSecurities_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapTradingSecurities_250" 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_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_250" 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_MarketableSecurities" xlink:label="loc_us-gaapMarketableSecurities_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapMarketableSecurities_250" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:title="995541 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" 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_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaapFairValueByMeasurementFrequencyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByMeasurementFrequencyAxis" 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_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain" 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_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain_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_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaapFairValueMeasurementsRecurringMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:to="loc_us-gaapFairValueMeasurementsRecurringMember_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_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" 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_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_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_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member_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_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member_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_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member_20" 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_CashAndCashEquivalentsFairValueDisclosure" xlink:label="loc_us-gaapCashAndCashEquivalentsFairValueDisclosure_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsFairValueDisclosure_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_MarketableSecurities" xlink:label="loc_us-gaapMarketableSecurities_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapMarketableSecurities_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_AssetsFairValueDisclosure" xlink:label="loc_us-gaapAssetsFairValueDisclosure_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapAssetsFairValueDisclosure_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentConsiderationToCommonStock" xlink:label="loc_CODXFairValueOfContingentConsiderationToCommonStock_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToCommonStock_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentConsiderationToWarrants" xlink:label="loc_CODXFairValueOfContingentConsiderationToWarrants_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToWarrants_90" 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_LiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapLiabilitiesFairValueDisclosure_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapLiabilitiesFairValueDisclosure_90" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:title="995542 - Disclosure - Schedule of Changes in the Fair Value Measurement (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" 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_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaapFairValueByMeasurementFrequencyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByMeasurementFrequencyAxis" 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_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain" 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_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain_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_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaapFairValueMeasurementsRecurringMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:to="loc_us-gaapFairValueMeasurementsRecurringMember_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_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:label="loc_CODXContingentConsideredIssuedForBusinessAcquisitions_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXContingentConsideredIssuedForBusinessAcquisitions_40" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:title="995543 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" 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_MeasurementInputTypeAxis" xlink:label="loc_us-gaapMeasurementInputTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapMeasurementInputTypeAxis" 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_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain" 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_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain_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_MeasurementInputSharePriceMember" xlink:label="loc_us-gaapMeasurementInputSharePriceMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputSharePriceMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_MeasurementInputStrikePriceMember" xlink:label="loc_CODXMeasurementInputStrikePriceMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputStrikePriceMember_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_MeasurementInputPriceVolatilityMember" xlink:label="loc_us-gaapMeasurementInputPriceVolatilityMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputPriceVolatilityMember_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_MeasurementInputRiskFreeInterestRateMember" xlink:label="loc_us-gaapMeasurementInputRiskFreeInterestRateMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputRiskFreeInterestRateMember_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_MeasurementInputExpectedTermMember" xlink:label="loc_us-gaapMeasurementInputExpectedTermMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedTermMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingTerm_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingTerm_110" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="995544 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaapEquipmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapEquipmentMember_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_LeaseholdsAndLeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember_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_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_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_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_80" xlink:type="arc" order="81" />
      <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-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <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="2" />
      <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="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_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_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_150" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_150" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfGoodwillDetails" xlink:title="995545 - Disclosure - Schedule of Goodwill (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" xlink:title="995546 - Disclosure - Schedule of Intangible Assets, Net (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="loc_us-gaapInProcessResearchAndDevelopmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapInProcessResearchAndDevelopmentMember_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_NoncompeteAgreementsMember" xlink:label="loc_us-gaapNoncompeteAgreementsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapNoncompeteAgreementsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife_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_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross_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_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_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_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_90" 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_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_90" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:title="995547 - Disclosure - Schedule of Future Amortization Expense (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="995548 - Disclosure - Goodwill and Intangible Assets (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:title="995549 - Disclosure - Schedule of Accrued Expenses (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:title="995550 - Disclosure - Summary of Revenue by Geographic Area (Details)">
      <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.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_RestOfWorldMember" xlink:label="loc_CODXRestOfWorldMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_CODXRestOfWorldMember_60" xlink:type="arc" order="61" />
      <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="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaapProductMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapProductMember_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_GrantMember" xlink:label="loc_us-gaapGrantMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapGrantMember_20" 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_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" 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_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_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_140" xlink:type="arc" order="142" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" 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_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_GeographicConcentrationRiskMember" xlink:label="loc_us-gaapGeographicConcentrationRiskMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapGeographicConcentrationRiskMember_140" xlink:type="arc" order="143" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_190" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_190" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:title="995551 - Disclosure - Schedule of Deferred Revenue (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:title="995552 - Disclosure - Schedule of Basis and Diluted Earnings Per Share (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:title="995553 - Disclosure - Earnings per Share (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" 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-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" 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_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_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_WarrantMember" xlink:label="loc_us-gaapWarrantMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" 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_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaapAntidilutiveSecuritiesNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="loc_us-gaapAntidilutiveSecuritiesNameDomain" 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_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaapAntidilutiveSecuritiesNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="loc_us-gaapAntidilutiveSecuritiesNameDomain_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_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAntidilutiveSecuritiesNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_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_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAntidilutiveSecuritiesNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_110" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:title="995554 - Disclosure - Schedule of Option Activity (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:title="995555 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Party (Details)">
      <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_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_60" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_60" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_60" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:title="995556 - Disclosure - Schedule of Warrant Activity (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:title="995557 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" 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_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" 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_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" 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_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain_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_CostOfSalesMember" xlink:label="loc_us-gaapCostOfSalesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapCostOfSalesMember_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_SellingAndMarketingExpenseMember" xlink:label="loc_us-gaapSellingAndMarketingExpenseMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapSellingAndMarketingExpenseMember_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_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaapGeneralAndAdministrativeExpenseMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapGeneralAndAdministrativeExpenseMember_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_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaapResearchAndDevelopmentExpenseMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapResearchAndDevelopmentExpenseMember_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_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_110" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="995558 - Disclosure - Stock-Based Compensation (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/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-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:label="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_StockOptionsMember" xlink:label="loc_CODXStockOptionsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_CODXStockOptionsMember_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_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_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_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="3" />
      <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_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_130" 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_130" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_130" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ClassOfWarrantExercisable" xlink:label="loc_CODXClassOfWarrantExercisable_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXClassOfWarrantExercisable_130" 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_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_130" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:title="995559 - Disclosure - Schedule of Components Income Tax Provision (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:title="995560 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:title="995561 - Disclosure - Schedule of Deferred Tax Assets and Liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:title="995562 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:title="995563 - Disclosure - Income Taxes (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" xlink:title="995564 - Disclosure - Schedule of Lease Expense (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:title="995565 - Disclosure - Schedule of Maturities on Company Lease Liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:title="995566 - Disclosure - Schedule of Other Information Related to Operating Lease (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995567 - 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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" 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_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" 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_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="codx-20231231.xsd#CODX_LeaseAmendmentMember" xlink:label="loc_CODXLeaseAmendmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_CODXLeaseAmendmentMember_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_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapOperatingLeaseLiability_20" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" xlink:title="995568 - Disclosure - Schedule of Treasury Stock (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" xlink:title="995569 - Disclosure - Share Repurchase Program (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="995570 - Disclosure - Related Party Transactions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" 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_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" 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_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SethEganMember" xlink:label="loc_CODXSethEganMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_CODXSethEganMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_WinstonEganMember" xlink:label="loc_CODXWinstonEganMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_CODXWinstonEganMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_CoSaraDiagnosticsPvtLtdMember" xlink:label="loc_CODXCoSaraDiagnosticsPvtLtdMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_CODXCoSaraDiagnosticsPvtLtdMember_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_PaymentToRelatedParty" xlink:label="loc_CODXPaymentToRelatedParty_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_CODXPaymentToRelatedParty_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_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_StockOptionsMember" xlink:label="loc_CODXStockOptionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_CODXStockOptionsMember" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>14
<FILENAME>codx-20231231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.21a -->
    <!-- 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/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="codx-20231231.xsd#CODX_ProductRevenueMember" xlink:label="CODX_ProductRevenueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ProductRevenueMember" xlink:to="CODX_ProductRevenueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ProductRevenueMember_lbl" xml:lang="en-US">Product Revenue [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantRevenueMember" xlink:label="CODX_GrantRevenueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GrantRevenueMember" xlink:to="CODX_GrantRevenueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_GrantRevenueMember_lbl" xml:lang="en-US">Grant Revenue [Member]</link:label>
      <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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="us-gaap_ConvertiblePreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertiblePreferredStockMember" xlink:to="us-gaap_ConvertiblePreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertiblePreferredStockMember_lbl" xml:lang="en-US">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_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockMember" xlink:to="us-gaap_PreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockMember_lbl" xml:lang="en-US">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_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_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/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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">AOCI Attributable to Parent [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/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="codx-20231231.xsd#CODX_CustomersMember" xlink:label="CODX_CustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CustomersMember" xlink:to="CODX_CustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_CustomersMember_lbl" xml:lang="en-US">Customers [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="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_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="codx-20231231.xsd#CODX_TwoCustomersMember" xlink:label="CODX_TwoCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoCustomersMember" xlink:to="CODX_TwoCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_TwoCustomersMember_lbl" xml:lang="en-US">Two Customers [Member]</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="codx-20231231.xsd#CODX_OneCustomerMember" xlink:label="CODX_OneCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_OneCustomerMember" xlink:to="CODX_OneCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_OneCustomerMember_lbl" xml:lang="en-US">One Customer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_OneGrantingAgencyMember" xlink:label="CODX_OneGrantingAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_OneGrantingAgencyMember" xlink:to="CODX_OneGrantingAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_OneGrantingAgencyMember_lbl" xml:lang="en-US">One Granting Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_CustomersTogetherMember" xlink:label="CODX_CustomersTogetherMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CustomersTogetherMember" xlink:to="CODX_CustomersTogetherMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_CustomersTogetherMember_lbl" xml:lang="en-US">Customers Together [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="us-gaap_CashAndCashEquivalentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAxis" xlink:to="us-gaap_CashAndCashEquivalentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAxis_lbl" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashMember" xlink:label="us-gaap_CashMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashMember" xlink:to="us-gaap_CashMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashMember_lbl" xml:lang="en-US">Cash [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsMember" xlink:to="us-gaap_MoneyMarketFundsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xml:lang="en-US">Money Market Funds [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 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_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasurySecuritiesMember" xlink:to="us-gaap_USTreasurySecuritiesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_USTreasurySecuritiesMember_lbl" xml:lang="en-US">US Treasury Securities [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 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_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputTypeAxis_lbl" xml:lang="en-US">Measurement Input 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_MeasurementInputSharePriceMember" xlink:label="us-gaap_MeasurementInputSharePriceMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputSharePriceMember" xlink:to="us-gaap_MeasurementInputSharePriceMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputSharePriceMember_lbl" xml:lang="en-US">Measurement Input, Share Price [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_MeasurementInputStrikePriceMember" xlink:label="CODX_MeasurementInputStrikePriceMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputStrikePriceMember" xlink:to="CODX_MeasurementInputStrikePriceMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_MeasurementInputStrikePriceMember_lbl" xml:lang="en-US">Measurement Input Strike Price [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputPriceVolatilityMember" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xml:lang="en-US">Measurement Input, Price Volatility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember_lbl" xml:lang="en-US">Measurement Input, Risk Free Interest Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="us-gaap_MeasurementInputExpectedTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputExpectedTermMember" xlink:to="us-gaap_MeasurementInputExpectedTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputExpectedTermMember_lbl" xml:lang="en-US">Measurement Input, Expected Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/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_LeaseholdsAndLeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdsAndLeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdsAndLeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdsAndLeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdsAndLeaseholdImprovementsMember_lbl" xml:lang="en-US">Leaseholds and Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xml:lang="en-US">Office Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In Process Research and Development [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US">Noncompete Agreements [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_ProductMember" xlink:label="us-gaap_ProductMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductMember_lbl" xml:lang="en-US">Product [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrantMember" xlink:to="us-gaap_GrantMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrantMember_lbl" xml:lang="en-US">Grant [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_RestOfWorldMember" xlink:label="CODX_RestOfWorldMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_RestOfWorldMember" xlink:to="CODX_RestOfWorldMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_RestOfWorldMember_lbl" xml:lang="en-US">Rest of World [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeographicConcentrationRiskMember_lbl" xml:lang="en-US">Geographic Concentration Risk [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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</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="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="codx-20231231.xsd#CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:label="CODX_TwoThousandFifteenLongTermIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:to="CODX_TwoThousandFifteenLongTermIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_TwoThousandFifteenLongTermIncentivePlanMember_lbl" xml:lang="en-US">2015 Long Term Incentive Plan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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="codx-20231231.xsd#CODX_StockOptionsMember" xlink:label="CODX_StockOptionsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockOptionsMember" xlink:to="CODX_StockOptionsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockOptionsMember_lbl" xml:lang="en-US">Stock Options [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US">Income Statement Location [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfSalesMember_lbl" xml:lang="en-US">Cost of Sales [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpenseMember" xlink:to="us-gaap_SellingAndMarketingExpenseMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpenseMember_lbl" xml:lang="en-US">Selling and Marketing Expense [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xml:lang="en-US">Research and Development Expense [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="codx-20231231.xsd#CODX_LeaseAmendmentMember" xlink:label="CODX_LeaseAmendmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_LeaseAmendmentMember" xlink:to="CODX_LeaseAmendmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_LeaseAmendmentMember_lbl" xml:lang="en-US">Lease Amendment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related Party, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SethEganMember" xlink:label="CODX_SethEganMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SethEganMember" xlink:to="CODX_SethEganMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SethEganMember_lbl" xml:lang="en-US">Seth Egan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_WinstonEganMember" xlink:label="CODX_WinstonEganMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_WinstonEganMember" xlink:to="CODX_WinstonEganMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_WinstonEganMember_lbl" xml:lang="en-US">Winston Egan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_CoSaraDiagnosticsPvtLtdMember" xlink:label="CODX_CoSaraDiagnosticsPvtLtdMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CoSaraDiagnosticsPvtLtdMember" xlink:to="CODX_CoSaraDiagnosticsPvtLtdMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_CoSaraDiagnosticsPvtLtdMember_lbl" xml:lang="en-US">CoSara Diagnostics Pvt Ltd [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</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">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_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="us-gaap_MarketableSecuritiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesCurrent" xlink:to="us-gaap_MarketableSecuritiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesCurrent_lbl" xml:lang="en-US">Marketable investment securities</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">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_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">Inventory, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReceivable" xlink:label="us-gaap_IncomeTaxReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReceivable" xlink:to="us-gaap_IncomeTaxReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReceivable_lbl" xml:lang="en-US">Income taxes receivable</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">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_NotesAndLoansReceivableNetCurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xml:lang="en-US">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_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">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">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">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_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">Intangible assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealEstateInvestmentsJointVentures" xlink:label="us-gaap_RealEstateInvestmentsJointVentures" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealEstateInvestmentsJointVentures" xlink:to="us-gaap_RealEstateInvestmentsJointVentures_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealEstateInvestmentsJointVentures_lbl" xml:lang="en-US">Investment in joint venture</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">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">Liabilities and 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_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">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">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_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">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">Operating lease liability, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:to="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent_lbl" xml:lang="en-US">Contingent consideration liabilities, current</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">Deferred revenue</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">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_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xml:lang="en-US">Long-term liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TaxesPayableNoncurrent" xlink:label="CODX_TaxesPayableNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TaxesPayableNoncurrent" xlink:to="CODX_TaxesPayableNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_TaxesPayableNoncurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred tax liability</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">Operating lease liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent_lbl" xml:lang="en-US">Contingent consideration liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US">Total long-term liabilities</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">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">Commitments and contingencies (Note 12)</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">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_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">Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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; 100,000,000 shares authorized; 36,108,346 shares issued and 31,259,668 shares outstanding as of December 31, 2023 and 34,754,265 shares issued and 30,872,607 shares outstanding as of December 31, 2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Treasury stock, at cost; 4,848,678 and 3,881,658 shares held as of December 31, 2023 and December 31, 2022, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive income</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">Accumulated earnings</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">Total 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_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">Total liabilities and 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_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">Convertible 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">Convertible preferred 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_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">Convertible 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">Convertible 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_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, shares</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_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">Total revenue</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">Cost of revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">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_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">General and administrative</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">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_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_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Goodwill impairment charges</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Loss from operations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Other income, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeOther_lbl" xml:lang="en-US">Interest income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="us-gaap_RealizedInvestmentGainsLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealizedInvestmentGainsLosses" xlink:to="us-gaap_RealizedInvestmentGainsLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealizedInvestmentGainsLosses_lbl" xml:lang="en-US">Realized gain on investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Loss on disposition of assets</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:label="CODX_GainOnRemeasurementOfAcquisitionContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:to="CODX_GainOnRemeasurementOfAcquisitionContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_GainOnRemeasurementOfAcquisitionContingencies_lbl" xml:lang="en-US">Gain on remeasurement of acquisition contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="us-gaap_GainLossOnSaleOfInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfInvestments" xlink:to="us-gaap_GainLossOnSaleOfInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfInvestments_lbl" xml:lang="en-US">Gain (loss) on equity method investment in joint venture</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total other income, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Loss before income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax benefit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US">Other comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US">Change in net unrealized gains on marketable securities, net of tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeTax_lbl" xml:lang="en-US">Total other comprehensive income (loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Loss per common share:</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</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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xml:lang="en-US">Weighted average 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_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/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">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/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">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">Balance</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">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_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">Common stock issued for option exercises</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Common stock issued for option exercises, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Common stock issued for warrant exercises</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">Common stock issued for warrant exercises, 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-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_lbl" xml:lang="en-US">Stock-based compensation expense, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xml:lang="en-US">Common stock issued for acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xml:lang="en-US">Common stock issued for acquisitions, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Repurchases 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_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive loss, net of tax</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">Balance</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">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_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net loss to cash (used in) provided by 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_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_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/verboseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:to="CODX_GainOnRemeasurementOfAcquisitionContingencies_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_GainOnRemeasurementOfAcquisitionContingencies_2_lbl" xml:lang="en-US">Change in fair value of acquisition contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_NoncashLeaseExpense" xlink:label="CODX_NoncashLeaseExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NoncashLeaseExpense" xlink:to="CODX_NoncashLeaseExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_NoncashLeaseExpense_lbl" xml:lang="en-US">Non-cash lease expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealizedInvestmentGainsLosses" xlink:to="us-gaap_RealizedInvestmentGainsLosses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RealizedInvestmentGainsLosses_2_lbl" xml:lang="en-US">Realized gain on investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfInvestments" xlink:to="us-gaap_GainLossOnSaleOfInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfInvestments_2_lbl" xml:lang="en-US">(Gain) loss from equity method investment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xml:lang="en-US">Loss on disposition 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_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Provision for credit losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US">Inventory obsolescence expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_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_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_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_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">Prepaid expenses and 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_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">Inventory</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/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable, accrued expenses and other 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) provided by 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_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">Purchases of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_lbl" xml:lang="en-US">Proceeds from maturities of marketable investment securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="us-gaap_PaymentsToAcquireMarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities_lbl" xml:lang="en-US">Purchases of marketable securities</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) provided by 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Proceeds from exercise of options and warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US">Repurchases 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_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 (used in) 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Net decrease in cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash and cash equivalents at 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">Income 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 disclosure of non-cash investing and financing transactions</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:label="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:to="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_lbl" xml:lang="en-US">Inventory moved to property, plant and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US">Right-of-use assets obtained in exchange for new operating lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_BusinessAcquisitionMeasurementPeriodAdjustments" xlink:label="CODX_BusinessAcquisitionMeasurementPeriodAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_BusinessAcquisitionMeasurementPeriodAdjustments" xlink:to="CODX_BusinessAcquisitionMeasurementPeriodAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_BusinessAcquisitionMeasurementPeriodAdjustments_lbl" xml:lang="en-US">Business acquisition measurement period adjustments</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments" xlink:label="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments" xlink:to="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments_lbl" xml:lang="en-US">Fair value of common stock issued as consideration for business acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:label="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:to="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_lbl" xml:lang="en-US">Fair value of contingent common stock issued as consideration for business acquisitions</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_TradingArrByIndTable" xlink:label="ecd_TradingArrByIndTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TradingArrByIndTable" xlink:to="ecd_TradingArrByIndTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TradingArrByIndTable_lbl" xml:lang="en-US">Trading Arrangements, by Individual [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrAxis" xlink:label="ecd_TradingArrAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TradingArrAxis" xlink:to="ecd_TradingArrAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TradingArrAxis_lbl" xml:lang="en-US">Trading Arrangement [Axis]</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_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US">Overview and 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_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">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_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:label="us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:to="us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock_lbl" xml:lang="en-US">Cash, Cash Equivalents, and Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US">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_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">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_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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:to="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_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_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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">Share Repurchase Program</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="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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US">Reclassifications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="us-gaap_MarketableSecuritiesPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesPolicy" xlink:to="us-gaap_MarketableSecuritiesPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesPolicy_lbl" xml:lang="en-US">Marketable Investment Securities</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_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US">Equity-Method Investments</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_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantRevenuePolicyTextBlock" xlink:label="CODX_GrantRevenuePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GrantRevenuePolicyTextBlock" xlink:to="CODX_GrantRevenuePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_GrantRevenuePolicyTextBlock_lbl" xml:lang="en-US">Grant Revenue</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">Deferred Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US">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_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Net Income (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_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US">Comprehensive Income (Loss)</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 Risk and Significant Customers</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">Recently Issued Accounting Standards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl" xml:lang="en-US">Schedule of Cash, Cash Equivalents and Marketable Investment Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xml:lang="en-US">Schedule of Fair Value 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xml:lang="en-US">Schedule of Changes in the Fair Value Measurement</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 Contingent Consideration Common Stock and Warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Intangible Assets, Net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Future Amortization Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of 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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Summary of Revenue by Geographic Area</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Basis and Diluted Earnings 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_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 Option Activity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Outstanding Restricted Stock Units and Related Party</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 Warrant Activity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Recognized Stock-based Compensation Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components Income Tax Provision</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Benefit from Income Taxes and Effective Tax Rates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax 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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule of Unrecognized Tax Benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US">Schedule of Lease Expense</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 Maturities on Company Lease Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ScheduleOfOperatingLeaseTableTextBlock" xlink:label="CODX_ScheduleOfOperatingLeaseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ScheduleOfOperatingLeaseTableTextBlock" xlink:to="CODX_ScheduleOfOperatingLeaseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ScheduleOfOperatingLeaseTableTextBlock_lbl" xml:lang="en-US">Schedule of Other Information Related to Operating Lease</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ScheduleOfTreasuryStockTableTextBlock" xlink:label="CODX_ScheduleOfTreasuryStockTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ScheduleOfTreasuryStockTableTextBlock" xlink:to="CODX_ScheduleOfTreasuryStockTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ScheduleOfTreasuryStockTableTextBlock_lbl" xml:lang="en-US">Schedule of Treasury Stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_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_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Doubtful accounts</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryNet_2_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_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Inventory, finished goods, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Inventory, raw materials, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Inventory reserves</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US">Impairment charges</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantFundingRevenue" xlink:label="CODX_GrantFundingRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GrantFundingRevenue" xlink:to="CODX_GrantFundingRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_GrantFundingRevenue_lbl" xml:lang="en-US">Grant funding revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredRevenue_lbl" xml:lang="en-US">Deferred revenue</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_ScheduleOfCashAndCashEquivalentsTable" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashAndCashEquivalentsTable_lbl" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="us-gaap_CashAndCashEquivalentsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsLineItems" xlink:to="us-gaap_CashAndCashEquivalentsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsLineItems_lbl" xml:lang="en-US">Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:to="us-gaap_TradingSecuritiesDebtAmortizedCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradingSecuritiesDebtAmortizedCost_lbl" xml:lang="en-US">Adjusted Cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLosses_lbl" xml:lang="en-US">Allowance for Credit Losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:to="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xml:lang="en-US">Total Unrealized Gains / (Losses)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradingSecurities" xlink:label="us-gaap_TradingSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradingSecurities" xlink:to="us-gaap_TradingSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradingSecurities_lbl" xml:lang="en-US">Fair Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_2_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities" xlink:label="us-gaap_MarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecurities" xlink:to="us-gaap_MarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecurities_lbl" xml:lang="en-US">Marketable Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xml:lang="en-US">Cash equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecurities" xlink:to="us-gaap_MarketableSecurities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MarketableSecurities_2_lbl" xml:lang="en-US">Marketable securities (U.S. treasury bills and notes)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AssetsFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xml:lang="en-US">Total assets measured at fair value</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentConsiderationToCommonStock" xlink:label="CODX_FairValueOfContingentConsiderationToCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToCommonStock" xlink:to="CODX_FairValueOfContingentConsiderationToCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueOfContingentConsiderationToCommonStock_lbl" xml:lang="en-US">Contingent consideration - common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentConsiderationToWarrants" xlink:label="CODX_FairValueOfContingentConsiderationToWarrants" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToWarrants" xlink:to="CODX_FairValueOfContingentConsiderationToWarrants_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueOfContingentConsiderationToWarrants_lbl" xml:lang="en-US">Contingent consideration - warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xml:lang="en-US">Total liabilities measured at fair value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xml:lang="en-US">Fair value as of December 31, 2022</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:label="CODX_ContingentConsideredIssuedForBusinessAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:to="CODX_ContingentConsideredIssuedForBusinessAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ContingentConsideredIssuedForBusinessAcquisitions_lbl" xml:lang="en-US">Change in fair value of contingent consideration issued for business acquisitions</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_2_lbl" xml:lang="en-US">Fair value as of 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable_lbl" xml:lang="en-US">Fair Value Measurement Inputs and Valuation Techniques [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems_lbl" xml:lang="en-US">Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="us-gaap_WarrantsAndRightsOutstandingMeasurementInput" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:to="us-gaap_WarrantsAndRightsOutstandingMeasurementInput_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantsAndRightsOutstandingMeasurementInput_lbl" xml:lang="en-US">Warrants measurement input</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="us-gaap_WarrantsAndRightsOutstandingTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsAndRightsOutstandingTerm" xlink:to="us-gaap_WarrantsAndRightsOutstandingTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantsAndRightsOutstandingTerm_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_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property and equipment estimated useful lives</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property and equipment, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Less: accumulated depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">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_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwil - beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:to="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments_lbl" xml:lang="en-US">Measurement period adjustments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_2_lbl" xml:lang="en-US">Goodwill impairment charges</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Goodwill_2_lbl" xml:lang="en-US">Goodwill - ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:label="CODX_IndefiniteLivedIntangibleAssetUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:to="CODX_IndefiniteLivedIntangibleAssetUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IndefiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful lives in years, term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Intangible assets, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Less accumulated amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful lives in years</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_3_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedPayrollTaxesCurrent" xlink:to="us-gaap_AccruedPayrollTaxesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedPayrollTaxesCurrent_lbl" xml:lang="en-US">Payroll liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalesCommissionCurrent" xlink:to="us-gaap_AccruedSalesCommissionCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedSalesCommissionCurrent_lbl" xml:lang="en-US">Distributor commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Other accrued liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_2_lbl" xml:lang="en-US">Total 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_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_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Revenue geographic area</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_2_lbl" xml:lang="en-US">Percentage of revenue</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/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenue, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:label="CODX_IncreaseDueToPrepaymentsFromCustomers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:to="CODX_IncreaseDueToPrepaymentsFromCustomers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IncreaseDueToPrepaymentsFromCustomers_lbl" xml:lang="en-US">Increase due to prepayments from customers</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IncreaseDueToPrepaymentsFromGrantsReceived" xlink:label="CODX_IncreaseDueToPrepaymentsFromGrantsReceived" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToPrepaymentsFromGrantsReceived" xlink:to="CODX_IncreaseDueToPrepaymentsFromGrantsReceived_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IncreaseDueToPrepaymentsFromGrantsReceived_lbl" xml:lang="en-US">Increase due to prepayments from grants received</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/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiability_2_lbl" xml:lang="en-US">Deferred revenue, ending balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_4_lbl" xml:lang="en-US">Net loss, as reported</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_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_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xml:lang="en-US">Dilutive effect of stock options, warrants and RSUs</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Shares used to compute diluted earnings per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_2_lbl" xml:lang="en-US">Basic earnings per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Diluted earnings 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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Securities excluded from computation of diluted earnings 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_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">Number of Options Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Outstanding, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Options Outstanding, 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xml:lang="en-US">Number of Options Outstanding, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Expired</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/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US">Number of Options Outstanding, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Forfeited/Cancelled</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Number of Options Outstanding, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_lbl" xml:lang="en-US">Weighted Average Fair Value Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (years) Outstanding, Beginning</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">Number of Options Outstanding, Ending</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</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (years) Outstanding, Ending</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/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of Options Exercisable Ending</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/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Exercisable Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_lbl" xml:lang="en-US">Weighted Average Fair Value, Exercisable Ending</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 Life (years), Exercisable Ending</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Outstanding Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Outstanding Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Forfeited/Cancelled</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2_lbl" xml:lang="en-US">Number of Restricted Stock Units, Outstanding Ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Outstanding Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xml:lang="en-US">Number of Warrants Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_lbl" xml:lang="en-US">Weighted Average fair value, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (Years) Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" xlink:label="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" xlink:to="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_lbl" xml:lang="en-US">Number of Warrants Outstanding, Issued</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" xlink:label="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" xlink:to="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Issued</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" xlink:label="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" xlink:to="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xml:lang="en-US">Number of Warrants Outstanding, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xml:lang="en-US">Number of Warrants Outstanding, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xml:lang="en-US">Number of Warrants Outstanding, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xml:lang="en-US">Number of Warrants Outstanding, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (Years) Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2_lbl" xml:lang="en-US">Number of Warrants Outstanding, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_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">Total stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Number of common shares availalble for issuance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Intrinsic value of options value exercised</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/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of options outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Unrecognized stock-based compensation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2_lbl" xml:lang="en-US">Weighted average period</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Intrinsic value of warrants exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ClassOfWarrantExercisable" xlink:label="CODX_ClassOfWarrantExercisable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ClassOfWarrantExercisable" xlink:to="CODX_ClassOfWarrantExercisable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ClassOfWarrantExercisable_lbl" xml:lang="en-US">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_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">Warrants purchase</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Current:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Total current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Deferred:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ChangeInValuationAllowance" xlink:label="CODX_ChangeInValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ChangeInValuationAllowance" xlink:to="CODX_ChangeInValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_ChangeInValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Total deferred</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Total income tax benefit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Federal income tax expense at statutory rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax expense, net of federal tax benefit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_lbl" xml:lang="en-US">Permanent differences:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl" xml:lang="en-US">- Foreign derived intangible income deduction</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">- Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_lbl" xml:lang="en-US">- Contingent consideration remeasurement</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment_lbl" xml:lang="en-US">- Goodwill impairment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US">- Other permanent differences</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" xml:lang="en-US">Research and development credits</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_lbl" xml:lang="en-US">Change in uncertain tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US">Other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Effective income tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US">Deferred tax assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US">Accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US">Reserves and allowances</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xml:lang="en-US">Deferred compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsCosts" xlink:label="CODX_DeferredTaxAssetsCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxAssetsCosts" xlink:to="CODX_DeferredTaxAssetsCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_DeferredTaxAssetsCosts_lbl" xml:lang="en-US">Section 174 costs</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsLeaseLiability" xlink:label="CODX_DeferredTaxAssetsLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxAssetsLeaseLiability" xlink:to="CODX_DeferredTaxAssetsLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_DeferredTaxAssetsLeaseLiability_lbl" xml:lang="en-US">Lease liability</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsUniformCapitalization" xlink:label="CODX_DeferredTaxAssetsUniformCapitalization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxAssetsUniformCapitalization" xlink:to="CODX_DeferredTaxAssetsUniformCapitalization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_DeferredTaxAssetsUniformCapitalization_lbl" xml:lang="en-US">UNICAP</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carryforwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Research and development credits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Total gross deferred tax assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Less valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Total deferred tax assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Deferred tax liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xml:lang="en-US">Intangibles, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl" xml:lang="en-US">Prepaids</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxLiabilitiesRightOfUseAsset" xlink:label="CODX_DeferredTaxLiabilitiesRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxLiabilitiesRightOfUseAsset" xlink:to="CODX_DeferredTaxLiabilitiesRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_DeferredTaxLiabilitiesRightOfUseAsset_lbl" xml:lang="en-US">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_DeferredTaxLiabilitiesOtherComprehensiveIncome" xlink:label="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome" xlink:to="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome_lbl" xml:lang="en-US">Other comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred tax liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Unrecognized tax benefits at the beginning of the year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xml:lang="en-US">Gross increases- current year tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Gross increases- prior year tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Gross decreases - prior year tax positions</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_2_lbl" xml:lang="en-US">Unrecognized tax benefits at end of year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_lbl" xml:lang="en-US">Interest and penalties in year-end balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carry-forwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl" xml:lang="en-US">Research and development credit carry forwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_lbl" xml:lang="en-US">State net operating loss carryforwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_lbl" xml:lang="en-US">State research and development credit carryforwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xml:lang="en-US">Unrecognized tax benefits that would impact effective tax rate</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 costs</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 costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US">Total lease costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:to="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_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 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/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: imputed interest</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">Present value of operating lease liabilities</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/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xml:lang="en-US">Less: 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">Long-term portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Cash paid for operating leases included in operating cash flows</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">Remaining lease term of 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">Discount rate of 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_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Operating lease liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockCommonShares_2_lbl" xml:lang="en-US">Treasury stock, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_RepurchasesOfCommonStock" xlink:label="CODX_RepurchasesOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_RepurchasesOfCommonStock" xlink:to="CODX_RepurchasesOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_RepurchasesOfCommonStock_lbl" xml:lang="en-US">Repurchases of common stock</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockCommonShares_3_lbl" xml:lang="en-US">Treasury stock, 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_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US">Stock repurchase program authorized amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xml:lang="en-US">Schedule of Related Party Transactions, by Related Party [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US">Related Party Transaction [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Share based payment, vesting period</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_PaymentToRelatedParty" xlink:label="CODX_PaymentToRelatedParty" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentToRelatedParty" xlink:to="CODX_PaymentToRelatedParty_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_PaymentToRelatedParty_lbl" xml:lang="en-US">Fair value of equity awards</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_2_lbl" xml:lang="en-US">Research and development expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TaxesPayableNoncurrent" xlink:to="CODX_TaxesPayableNoncurrent_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_TaxesPayableNoncurrent_doc" xml:lang="en-US">Taxes payable non current.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:to="CODX_GainOnRemeasurementOfAcquisitionContingencies_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_GainOnRemeasurementOfAcquisitionContingencies_doc" xml:lang="en-US">Gain on remeasurement of acquisition contingencies.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NoncashLeaseExpense" xlink:to="CODX_NoncashLeaseExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_NoncashLeaseExpense_doc" xml:lang="en-US">Noncash lease expense.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:to="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_doc" xml:lang="en-US">Noncash or part noncash inventory moved to property plant and equipment..</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_BusinessAcquisitionMeasurementPeriodAdjustments" xlink:to="CODX_BusinessAcquisitionMeasurementPeriodAdjustments_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_BusinessAcquisitionMeasurementPeriodAdjustments_doc" xml:lang="en-US">Business acquisition measurement period adjustments.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments" xlink:to="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments_doc" xml:lang="en-US">Stock issued during period value acquisitions adjustments.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:to="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_doc" xml:lang="en-US">Fair value of contingent common stock and warrants issued as consideration for business acquisitions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GrantRevenuePolicyTextBlock" xlink:to="CODX_GrantRevenuePolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_GrantRevenuePolicyTextBlock_doc" xml:lang="en-US">Grant Revenue [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GrantFundingRevenue" xlink:to="CODX_GrantFundingRevenue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_GrantFundingRevenue_doc" xml:lang="en-US">Grant Funding Revenue.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CustomersMember" xlink:to="CODX_CustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_CustomersMember_doc" xml:lang="en-US">Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoCustomersMember" xlink:to="CODX_TwoCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_TwoCustomersMember_doc" xml:lang="en-US">Two Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_OneCustomerMember" xlink:to="CODX_OneCustomerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_OneCustomerMember_doc" xml:lang="en-US">One Customer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_OneGrantingAgencyMember" xlink:to="CODX_OneGrantingAgencyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_OneGrantingAgencyMember_doc" xml:lang="en-US">One Granting Agency [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CustomersTogetherMember" xlink:to="CODX_CustomersTogetherMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_CustomersTogetherMember_doc" xml:lang="en-US">Customers Together [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToCommonStock" xlink:to="CODX_FairValueOfContingentConsiderationToCommonStock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueOfContingentConsiderationToCommonStock_doc" xml:lang="en-US">Fair value of contingent consideration to common stock.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToWarrants" xlink:to="CODX_FairValueOfContingentConsiderationToWarrants_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueOfContingentConsiderationToWarrants_doc" xml:lang="en-US">Fair value of contigent consideration to warrants.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:to="CODX_ContingentConsideredIssuedForBusinessAcquisitions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ContingentConsideredIssuedForBusinessAcquisitions_doc" xml:lang="en-US">Contingent considered issued for business acquisitions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputStrikePriceMember" xlink:to="CODX_MeasurementInputStrikePriceMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_MeasurementInputStrikePriceMember_doc" xml:lang="en-US">Measurement Input Strike Price [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:to="CODX_IndefiniteLivedIntangibleAssetUsefulLife_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IndefiniteLivedIntangibleAssetUsefulLife_doc" xml:lang="en-US">Indefinite lived intangible asset useful life.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_RestOfWorldMember" xlink:to="CODX_RestOfWorldMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_RestOfWorldMember_doc" xml:lang="en-US">Rest of World [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:to="CODX_IncreaseDueToPrepaymentsFromCustomers_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IncreaseDueToPrepaymentsFromCustomers_doc" xml:lang="en-US">Increase due to prepayments from customers.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToPrepaymentsFromGrantsReceived" xlink:to="CODX_IncreaseDueToPrepaymentsFromGrantsReceived_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IncreaseDueToPrepaymentsFromGrantsReceived_doc" xml:lang="en-US">Increase due to prepayments from grants received.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:to="CODX_TwoThousandFifteenLongTermIncentivePlanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_TwoThousandFifteenLongTermIncentivePlanMember_doc" xml:lang="en-US">2015 Long Term Incentive Plan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercisable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_doc" xml:lang="en-US">Sharebased compensation arrangement by sharebased payment award non options outstanding weighted average remaining contractual term.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockOptionsMember" xlink:to="CODX_StockOptionsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockOptionsMember_doc" xml:lang="en-US">Stock Options [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" xlink:to="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_doc" xml:lang="en-US">Share based compensation issued for adjustments to contingent purchase consideration.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average exercise price, beginning.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" xlink:to="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Issued For Adjustments To Contingent Purchase Consideration Period Weighted Average Exercise Price.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average exercise price granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average price at which grantees could have acquired the underlying shares with respect to non-options of the plan that expired.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average exercise price, forfeited/cancelled.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average exercise price, forfeited/cancelled.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average price at which grantees can acquire the shares reserved for issuance under the non-option plan.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award non options outstanding weighted average fair value.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" xlink:to="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Issued for adjustments to contingent purchase consideration weighted average grant date fair value.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted average grant date fair value, granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted average fair value, forfeited/cancelled.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted average fair value, exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted average fair value, beginning.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_doc" xml:lang="en-US">Weighted-average remaining contractual life (years) outstanding, beginning.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_doc" xml:lang="en-US">Sharebased compensation arrangement by sharebased payment award non options outstanding weighted average remaining contractual term3.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_doc" xml:lang="en-US">Intrinsic value of warrants exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ClassOfWarrantExercisable" xlink:to="CODX_ClassOfWarrantExercisable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ClassOfWarrantExercisable_doc" xml:lang="en-US">Class of warrant exercisable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ChangeInValuationAllowance" xlink:to="CODX_ChangeInValuationAllowance_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ChangeInValuationAllowance_doc" xml:lang="en-US">Change in valuation allowance.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_doc" xml:lang="en-US">Effective income tax rate reconciliation contingent consideration remeasurement.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment_doc" xml:lang="en-US">Effective income tax rate reconciliation Goodwill impairment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_doc" xml:lang="en-US">Effective income tax rate reconciliation change in valuation allowance.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxAssetsCosts" xlink:to="CODX_DeferredTaxAssetsCosts_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DeferredTaxAssetsCosts_doc" xml:lang="en-US">Deferred tax assets costs.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxAssetsLeaseLiability" xlink:to="CODX_DeferredTaxAssetsLeaseLiability_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DeferredTaxAssetsLeaseLiability_doc" xml:lang="en-US">Deferred tax assets lease liability.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxAssetsUniformCapitalization" xlink:to="CODX_DeferredTaxAssetsUniformCapitalization_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DeferredTaxAssetsUniformCapitalization_doc" xml:lang="en-US">Deferred tax assets uniform capitalization.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxLiabilitiesRightOfUseAsset" xlink:to="CODX_DeferredTaxLiabilitiesRightOfUseAsset_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DeferredTaxLiabilitiesRightOfUseAsset_doc" xml:lang="en-US">Deferred tax liabilities right of use asset.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_LeaseAmendmentMember" xlink:to="CODX_LeaseAmendmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_LeaseAmendmentMember_doc" xml:lang="en-US">Lease Amendment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:to="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_doc" xml:lang="en-US">Lessee operating lease liability payments due after year four.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ScheduleOfOperatingLeaseTableTextBlock" xlink:to="CODX_ScheduleOfOperatingLeaseTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ScheduleOfOperatingLeaseTableTextBlock_doc" xml:lang="en-US">Schedule of Operating Lease [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ScheduleOfTreasuryStockTableTextBlock" xlink:to="CODX_ScheduleOfTreasuryStockTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ScheduleOfTreasuryStockTableTextBlock_doc" xml:lang="en-US">Schedule of Treasury Stock [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_RepurchasesOfCommonStock" xlink:to="CODX_RepurchasesOfCommonStock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_RepurchasesOfCommonStock_doc" xml:lang="en-US">Repurchases of common stock.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SethEganMember" xlink:to="CODX_SethEganMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SethEganMember_doc" xml:lang="en-US">Seth Egan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_WinstonEganMember" xlink:to="CODX_WinstonEganMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_WinstonEganMember_doc" xml:lang="en-US">Winston Egan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentToRelatedParty" xlink:to="CODX_PaymentToRelatedParty_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_PaymentToRelatedParty_doc" xml:lang="en-US">Payment to related party.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CoSaraDiagnosticsPvtLtdMember" xlink:to="CODX_CoSaraDiagnosticsPvtLtdMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_CoSaraDiagnosticsPvtLtdMember_doc" xml:lang="en-US">CoSara Diagnostics Pvt Ltd [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ProductRevenueMember" xlink:to="CODX_ProductRevenueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ProductRevenueMember_doc" xml:lang="en-US">Product Revenue [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_GrantRevenueMember" xlink:to="CODX_GrantRevenueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_GrantRevenueMember_doc" xml:lang="en-US">Grant Revenue [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_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 [Default Label]</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_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrent_2_lbl" xml:lang="en-US">Liabilities, Noncurrent</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="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_2_lbl" xml:lang="en-US">Treasury Stock, 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_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating 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_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeTax_2_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), before Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</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_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_2_lbl" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_2_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_2_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</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_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_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2_lbl" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_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_PaymentsToAcquireMarketableSecurities" xlink:to="us-gaap_PaymentsToAcquireMarketableSecurities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities_2_lbl" xml:lang="en-US">Payments to Acquire Marketable Securities</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="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_2_lbl" xml:lang="en-US">Payments for Repurchase of Common Stock</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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_2_lbl" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_2_lbl" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenue_2_lbl" xml:lang="en-US">Deferred Revenue [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3_lbl" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_3_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price</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/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_3_lbl" xml:lang="en-US">SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_3_lbl" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Expirations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_3_lbl" xml:lang="en-US">SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_3_lbl" xml:lang="en-US">SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_2_lbl" xml:lang="en-US">Current Federal, State and Local, Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ChangeInValuationAllowance" xlink:to="CODX_ChangeInValuationAllowance_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ChangeInValuationAllowance_3_lbl" xml:lang="en-US">ChangeInValuationAllowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Federal, State and Local, Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_2_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_2_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_3_lbl" xml:lang="en-US">EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_2_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_2_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_2_lbl" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_2_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Prepaid Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DeferredTaxLiabilitiesRightOfUseAsset" xlink:to="CODX_DeferredTaxLiabilitiesRightOfUseAsset_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_DeferredTaxLiabilitiesRightOfUseAsset_3_lbl" xml:lang="en-US">DeferredTaxLiabilitiesRightOfUseAsset</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome" xlink:to="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Other Comprehensive Income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_2_lbl" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_3_lbl" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_2_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_2_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties Accrued</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCost_2_lbl" xml:lang="en-US">Lease, Cost</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>15
<FILENAME>codx-20231231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.21a -->
    <!-- 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://codiagnostics.com/role/Cover" xlink:href="codx-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheets" xlink:href="codx-20231231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:href="codx-20231231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" xlink:href="codx-20231231.xsd#StatementsOfOperationsAndComprehensiveLoss" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:href="codx-20231231.xsd#StatementOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:href="codx-20231231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:href="codx-20231231.xsd#OverviewAndBasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" xlink:href="codx-20231231.xsd#CashCashEquivalentsAndFinancialInstruments" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurements" xlink:href="codx-20231231.xsd#FairValueMeasurements" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipment" xlink:href="codx-20231231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpenses" xlink:href="codx-20231231.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Revenue" xlink:href="codx-20231231.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShare" xlink:href="codx-20231231.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensation" xlink:href="codx-20231231.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxes" xlink:href="codx-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:href="codx-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgram" xlink:href="codx-20231231.xsd#ShareRepurchaseProgram" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:href="codx-20231231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEvents" xlink:href="codx-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" xlink:href="codx-20231231.xsd#CashCashEquivalentsAndFinancialInstrumentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:href="codx-20231231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:href="codx-20231231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpensesTables" xlink:href="codx-20231231.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RevenueTables" xlink:href="codx-20231231.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareTables" xlink:href="codx-20231231.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:href="codx-20231231.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesTables" xlink:href="codx-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:href="codx-20231231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramTables" xlink:href="codx-20231231.xsd#ShareRepurchaseProgramTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="codx-20231231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:href="codx-20231231.xsd#ScheduleOfChangesInFairValueMeasurementDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:href="codx-20231231.xsd#ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="codx-20231231.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfGoodwillDetails" xlink:href="codx-20231231.xsd#ScheduleOfGoodwillDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" xlink:href="codx-20231231.xsd#ScheduleOfIntangibleAssetsNetDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="codx-20231231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:href="codx-20231231.xsd#ScheduleOfAccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:href="codx-20231231.xsd#SummaryOfRevenueByGeographicAreaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:href="codx-20231231.xsd#ScheduleOfDeferredRevenueDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:href="codx-20231231.xsd#ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:href="codx-20231231.xsd#EarningsPerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:href="codx-20231231.xsd#ScheduleOfOptionActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:href="codx-20231231.xsd#ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:href="codx-20231231.xsd#ScheduleOfWarrantActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="codx-20231231.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:href="codx-20231231.xsd#ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:href="codx-20231231.xsd#ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:href="codx-20231231.xsd#ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:href="codx-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" xlink:href="codx-20231231.xsd#ScheduleOfLeaseExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:href="codx-20231231.xsd#ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:href="codx-20231231.xsd#ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="codx-20231231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" xlink:href="codx-20231231.xsd#ScheduleOfTreasuryStockDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" xlink:href="codx-20231231.xsd#ShareRepurchaseProgramDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="codx-20231231.xsd#RelatedPartyTransactionsDetailsNarrative" 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://codiagnostics.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="loc_deiDocumentFinStmtErrorCorrectionFlag" />
      <link:presentationArc order="590" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFinStmtErrorCorrectionFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
      <link:presentationArc order="600" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
      <link:presentationArc order="610" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
      <link:presentationArc order="620" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheets" 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_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" 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="40" 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_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_IncomeTaxReceivable" xlink:label="loc_us-gaapIncomeTaxReceivable" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapIncomeTaxReceivable" 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="70" 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_NotesAndLoansReceivableNetCurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetCurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapNotesAndLoansReceivableNetCurrent" 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="90" 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="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" 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="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" 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_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealEstateInvestmentsJointVentures" xlink:label="loc_us-gaapRealEstateInvestmentsJointVentures" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapRealEstateInvestmentsJointVentures" xlink:type="arc" />
      <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="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" 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="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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="160" 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="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" 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="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TaxesPayableNoncurrent" xlink:label="loc_CODXTaxesPayableNoncurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_CODXTaxesPayableNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" 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_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrent" 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_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="290" 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="300" 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="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" 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="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" 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_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapTreasuryStockValue" 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_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" 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="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" 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="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" 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="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" 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://codiagnostics.com/role/BalanceSheetsParenthetical" 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_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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-gaapStatementOfFinancialPositionAbstract" 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_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" 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="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapTreasuryStockCommonShares" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss" xlink:title="00000004 - Statement - Consolidated Statements of Operations and Comprehensive Loss">
      <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="codx-20231231.xsd#CODX_ProductRevenueMember" xlink:label="loc_CODXProductRevenueMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_CODXProductRevenueMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantRevenueMember" xlink:label="loc_CODXGrantRevenueMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_CODXGrantRevenueMember" 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-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" 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="10" 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="20" 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="30" 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="40" 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_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="50" 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_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="60" 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_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" 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_GoodwillImpairmentLoss" xlink:label="loc_us-gaapGoodwillImpairmentLoss" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGoodwillImpairmentLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingExpenses" 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_NonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapNonoperatingIncomeExpenseAbstract" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:label="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" 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="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" 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_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" 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="200" 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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossBeforeTax" 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_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax" 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_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract" xlink:type="arc" />
      <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="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract" 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="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" 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="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="loc_us-gaapConvertiblePreferredStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapConvertiblePreferredStockMember" 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-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" 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" />
      <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="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember" xlink:label="loc_us-gaapPreferredStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapPreferredStockMember" 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="20" 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_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember" />
      <link:presentationArc order="30" 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_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="40" 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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" 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_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="30" 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_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" 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="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross" />
      <link:presentationArc order="70" 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_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodValue" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodValue" 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_OtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTax" 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="130" 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="140" 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="150" 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://codiagnostics.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" 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-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" 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_GoodwillImpairmentLoss" xlink:label="loc_us-gaapGoodwillImpairmentLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGoodwillImpairmentLoss" 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="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GainOnRemeasurementOfAcquisitionContingencies" xlink:label="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_CODXGainOnRemeasurementOfAcquisitionContingencies" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_NoncashLeaseExpense" xlink:label="loc_CODXNoncashLeaseExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_CODXNoncashLeaseExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" 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_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" 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_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" 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_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="loc_us-gaapInventoryWriteDown" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapInventoryWriteDown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" 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="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" 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_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" 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_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" 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_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" 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="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" 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="220" 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_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="230" 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_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:label="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="loc_us-gaapPaymentsToAcquireMarketableSecurities" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireMarketableSecurities" 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="260" 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="270" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaapPaymentsForRepurchaseOfCommonStock" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsForRepurchaseOfCommonStock" 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_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="300" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_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="340" 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="350" 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="360" 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="370" 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="codx-20231231.xsd#CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:label="loc_CODXNoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_CODXNoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_us-gaapRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_us-gaapRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_BusinessAcquisitionMeasurementPeriodAdjustments" xlink:label="loc_CODXBusinessAcquisitionMeasurementPeriodAdjustments" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_CODXBusinessAcquisitionMeasurementPeriodAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments" xlink:label="loc_CODXStockIssuedDuringPeriodValueAcquisitionsAdjustments" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_CODXStockIssuedDuringPeriodValueAcquisitionsAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:label="loc_CODXFairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_CODXFairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" 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_TradingArrByIndTable" xlink:label="loc_ecdTradingArrByIndTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTradingArrByIndTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrAxis" xlink:label="loc_ecdTradingArrAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrByIndTable" xlink:to="loc_ecdTradingArrAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllTradingArrangementsMember" xlink:label="loc_ecdAllTradingArrangementsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrAxis" xlink:to="loc_ecdAllTradingArrangementsMember" 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_ecdTradingArrByIndTable" 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_MtrlTermsOfTrdArrTextBlock" xlink:label="loc_ecdMtrlTermsOfTrdArrTextBlock" />
      <link:presentationArc order="2000" 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="2010" 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="2020" 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="2030" 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="2040" 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="2050" 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="2060" 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="2070" 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="2080" 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="2090" 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="2100" 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://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:title="995512 - Disclosure - Overview and Basis of Presentation">
      <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_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="995513 - Disclosure - 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_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments" xlink:title="995514 - Disclosure - Cash, Cash Equivalents, and Financial Instruments">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaapCashAndCashEquivalentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:label="loc_us-gaapCashCashEquivalentsAndMarketableSecuritiesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsAndMarketableSecuritiesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurements" xlink:title="995515 - Disclosure - Fair Value Measurements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaapFairValueDisclosuresTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueDisclosuresTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipment" xlink:title="995516 - Disclosure - Property and Equipment">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:title="995517 - Disclosure - Goodwill and Intangible Assets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpenses" xlink:title="995518 - Disclosure - Accrued Expenses">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Revenue" xlink:title="995519 - Disclosure - 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_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://codiagnostics.com/role/EarningsPerShare" xlink:title="995520 - Disclosure - Earnings per Share">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensation" xlink:title="995521 - Disclosure - Stock-Based Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:label="loc_us-gaapDisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxes" xlink:title="995522 - Disclosure - Income Taxes">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:title="995523 - 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://codiagnostics.com/role/ShareRepurchaseProgram" xlink:title="995524 - Disclosure - Share Repurchase Program">
      <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://codiagnostics.com/role/RelatedPartyTransactions" xlink:title="995525 - 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://codiagnostics.com/role/SubsequentEvents" xlink:title="995526 - 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://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995527 - Disclosure - 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="loc_us-gaapPriorPeriodReclassificationAdjustmentDescription" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPriorPeriodReclassificationAdjustmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="loc_us-gaapMarketableSecuritiesPolicy" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapMarketableSecuritiesPolicy" 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="30" 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_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy" 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="50" 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_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" 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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaapRevenueRecognitionPolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueRecognitionPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantRevenuePolicyTextBlock" xlink:label="loc_CODXGrantRevenuePolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_CODXGrantRevenuePolicyTextBlock" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="loc_us-gaapResearchAndDevelopmentExpensePolicy" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpensePolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" 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_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="140" 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_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" 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="160" 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_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="170" 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://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables" xlink:title="995528 - Disclosure - Cash, Cash Equivalents, and Financial Instruments (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaapCashAndCashEquivalentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:label="loc_us-gaapScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsAbstract" xlink:to="loc_us-gaapScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:title="995529 - Disclosure - Fair Value Measurements (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:type="arc" />
      <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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:title="995530 - Disclosure - Property and Equipment (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="995531 - Disclosure - Goodwill and Intangible Assets (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="loc_us-gaapScheduleOfGoodwillTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfGoodwillTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpensesTables" xlink:title="995532 - Disclosure - Accrued Expenses (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RevenueTables" xlink:title="995533 - Disclosure - Revenue (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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareTables" xlink:title="995534 - Disclosure - Earnings per Share (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:title="995535 - Disclosure - Stock-Based Compensation (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationActivityTableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesTables" xlink:title="995536 - Disclosure - Income Taxes (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="loc_us-gaapScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:title="995537 - Disclosure - Commitments and Contingencies (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="loc_us-gaapLeaseCostTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLeaseCostTableTextBlock" 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:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ScheduleOfOperatingLeaseTableTextBlock" xlink:label="loc_CODXScheduleOfOperatingLeaseTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_CODXScheduleOfOperatingLeaseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgramTables" xlink:title="995538 - Disclosure - Share Repurchase Program (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="codx-20231231.xsd#CODX_ScheduleOfTreasuryStockTableTextBlock" xlink:label="loc_CODXScheduleOfTreasuryStockTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_CODXScheduleOfTreasuryStockTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995539 - Disclosure - 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="codx-20231231.xsd#CODX_CustomersMember" xlink:label="loc_CODXCustomersMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TwoCustomersMember" xlink:label="loc_CODXTwoCustomersMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXTwoCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_OneCustomerMember" xlink:label="loc_CODXOneCustomerMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXOneCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_OneGrantingAgencyMember" xlink:label="loc_CODXOneGrantingAgencyMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXOneGrantingAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_CustomersTogetherMember" xlink:label="loc_CODXCustomersTogetherMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXCustomersTogetherMember" 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="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" />
      <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="50" 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/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="30" />
      <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_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="50" 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_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
      <link:presentationArc order="70" 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_AccountsReceivableGrossCurrent" xlink:label="loc_us-gaapAccountsReceivableGrossCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableGrossCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" 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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" 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_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryNet" 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_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="loc_us-gaapAssetImpairmentCharges" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAssetImpairmentCharges" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_GrantFundingRevenue" xlink:label="loc_CODXGrantFundingRevenue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_CODXGrantFundingRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaapDeferredRevenue" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeferredRevenue" 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_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" 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_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails" xlink:title="995540 - Disclosure - Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaapCashAndCashEquivalentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:label="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsAbstract" xlink:to="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsLineItems" xlink:label="loc_us-gaapCashAndCashEquivalentsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" xlink:to="loc_us-gaapCashAndCashEquivalentsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis" xlink:label="loc_us-gaapCashAndCashEquivalentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" xlink:to="loc_us-gaapCashAndCashEquivalentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:label="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsAxis" xlink:to="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashMember" xlink:label="loc_us-gaapCashMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="loc_us-gaapCashMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="loc_us-gaapMoneyMarketFundsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="loc_us-gaapMoneyMarketFundsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaapUSTreasurySecuritiesMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="loc_us-gaapUSTreasurySecuritiesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCashAndCashEquivalentsTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradingSecuritiesDebtAmortizedCost" xlink:label="loc_us-gaapTradingSecuritiesDebtAmortizedCost" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapTradingSecuritiesDebtAmortizedCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:label="loc_us-gaapFinancingReceivableAllowanceForCreditLosses" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapFinancingReceivableAllowanceForCreditLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapMarketableSecuritiesUnrealizedGainLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradingSecurities" xlink:label="loc_us-gaapTradingSecurities" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapTradingSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" 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_MarketableSecurities" xlink:label="loc_us-gaapMarketableSecurities" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashAndCashEquivalentsLineItems" xlink:to="loc_us-gaapMarketableSecurities" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:title="995541 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaapFairValueByMeasurementFrequencyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByMeasurementFrequencyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaapFairValueMeasurementsRecurringMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:to="loc_us-gaapFairValueMeasurementsRecurringMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="loc_us-gaapCashAndCashEquivalentsFairValueDisclosure" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsFairValueDisclosure" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities" xlink:label="loc_us-gaapMarketableSecurities" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapMarketableSecurities" 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_AssetsFairValueDisclosure" xlink:label="loc_us-gaapAssetsFairValueDisclosure" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapAssetsFairValueDisclosure" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentConsiderationToCommonStock" xlink:label="loc_CODXFairValueOfContingentConsiderationToCommonStock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_FairValueOfContingentConsiderationToWarrants" xlink:label="loc_CODXFairValueOfContingentConsiderationToWarrants" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToWarrants" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapLiabilitiesFairValueDisclosure" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapLiabilitiesFairValueDisclosure" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:title="995542 - Disclosure - Schedule of Changes in the Fair Value Measurement (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaapFairValueByMeasurementFrequencyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByMeasurementFrequencyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaapFairValueMeasurementsRecurringMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:to="loc_us-gaapFairValueMeasurementsRecurringMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:label="loc_CODXContingentConsideredIssuedForBusinessAcquisitions" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXContingentConsideredIssuedForBusinessAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:title="995543 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="loc_us-gaapMeasurementInputTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapMeasurementInputTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputSharePriceMember" xlink:label="loc_us-gaapMeasurementInputSharePriceMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputSharePriceMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_MeasurementInputStrikePriceMember" xlink:label="loc_CODXMeasurementInputStrikePriceMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputStrikePriceMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="loc_us-gaapMeasurementInputPriceVolatilityMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputPriceVolatilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="loc_us-gaapMeasurementInputRiskFreeInterestRateMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputRiskFreeInterestRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="loc_us-gaapMeasurementInputExpectedTermMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingTerm" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingTerm" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="995544 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaapEquipmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdsAndLeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_srtRangeAxis" 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" />
      <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_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfGoodwillDetails" xlink:title="995545 - Disclosure - Schedule of Goodwill (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwill" 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_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:label="loc_us-gaapGoodwillTranslationAndPurchaseAccountingAdjustments" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillTranslationAndPurchaseAccountingAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="loc_us-gaapGoodwillImpairmentLoss" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillImpairmentLoss" 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_Goodwill" xlink:label="loc_us-gaapGoodwill_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwill_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails" xlink:title="995546 - Disclosure - Schedule of Intangible Assets, Net (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="loc_us-gaapInProcessResearchAndDevelopmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapInProcessResearchAndDevelopmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaapNoncompeteAgreementsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapNoncompeteAgreementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" 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="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:title="995547 - Disclosure - Schedule of Future Amortization Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="995548 - Disclosure - Goodwill and Intangible Assets (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:title="995549 - Disclosure - Schedule of Accrued Expenses (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="loc_us-gaapAccruedPayrollTaxesCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedPayrollTaxesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedSalesCommissionCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapOtherAccruedLiabilitiesCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapOtherAccruedLiabilitiesCurrent" 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="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:title="995550 - Disclosure - Summary of Revenue by Geographic Area (Details)">
      <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.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="10" 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="codx-20231231.xsd#CODX_RestOfWorldMember" xlink:label="loc_CODXRestOfWorldMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_CODXRestOfWorldMember" 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="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaapProductMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapProductMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrantMember" xlink:label="loc_us-gaapGrantMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapGrantMember" 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-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="30" />
      <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="150" 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_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-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="40" />
      <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_GeographicConcentrationRiskMember" xlink:label="loc_us-gaapGeographicConcentrationRiskMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapGeographicConcentrationRiskMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax" 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-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:title="995551 - Disclosure - Schedule of Deferred Revenue (Details)">
      <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_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:presentationArc order="0" 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/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:label="loc_CODXIncreaseDueToPrepaymentsFromCustomers" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_CODXIncreaseDueToPrepaymentsFromCustomers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IncreaseDueToPrepaymentsFromGrantsReceived" xlink:label="loc_CODXIncreaseDueToPrepaymentsFromGrantsReceived" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_CODXIncreaseDueToPrepaymentsFromGrantsReceived" 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_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiability_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails" xlink:title="995552 - Disclosure - Schedule of Basis and Diluted Earnings Per Share (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <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="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <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="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" 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_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <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="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" 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_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:title="995553 - Disclosure - Earnings per Share (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" 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-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" 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_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" 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_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="30" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaapAntidilutiveSecuritiesNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="loc_us-gaapAntidilutiveSecuritiesNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAntidilutiveSecuritiesNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <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="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAntidilutiveSecuritiesNameDomain" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:title="995554 - Disclosure - Schedule of Option Activity (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" 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-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" 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="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" 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="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:type="arc" />
      <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="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" 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="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm" xlink:type="arc" />
      <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="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails" xlink:title="995555 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Party (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:title="995556 - Disclosure - Schedule of Warrant Activity (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" xlink:label="loc_CODXShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXIssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXIssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" xlink:label="loc_CODXIssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXIssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:title="995557 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaapCostOfSalesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapCostOfSalesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="loc_us-gaapSellingAndMarketingExpenseMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapSellingAndMarketingExpenseMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaapGeneralAndAdministrativeExpenseMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapGeneralAndAdministrativeExpenseMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaapResearchAndDevelopmentExpenseMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapResearchAndDevelopmentExpenseMember" 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="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="995558 - Disclosure - Stock-Based Compensation (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/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-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:label="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_StockOptionsMember" xlink:label="loc_CODXStockOptionsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_CODXStockOptionsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="30" />
      <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="90" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" 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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" 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="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ClassOfWarrantExercisable" xlink:label="loc_CODXClassOfWarrantExercisable" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXClassOfWarrantExercisable" 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="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:title="995559 - Disclosure - Schedule of Components Income Tax Provision (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" 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_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_ChangeInValuationAllowance" xlink:label="loc_CODXChangeInValuationAllowance" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_CODXChangeInValuationAllowance" 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_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" 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_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:title="995560 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationFdiiPercent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationGoodwillImpairment" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationGoodwillImpairment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" 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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" 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_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherAdjustments" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:title="995561 - Disclosure - Schedule of Deferred Tax Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="loc_us-gaapDeferredTaxAssetsGrossAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsCosts" xlink:label="loc_CODXDeferredTaxAssetsCosts" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_CODXDeferredTaxAssetsCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsLeaseLiability" xlink:label="loc_CODXDeferredTaxAssetsLeaseLiability" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_CODXDeferredTaxAssetsLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxAssetsUniformCapitalization" xlink:label="loc_CODXDeferredTaxAssetsUniformCapitalization" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_CODXDeferredTaxAssetsUniformCapitalization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="loc_us-gaapDeferredTaxAssetsTaxCreditCarryforwardsResearch" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsGross" 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_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsNet" 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_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaapDeferredTaxLiabilitiesAbstract" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" 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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" 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_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_DeferredTaxLiabilitiesRightOfUseAsset" xlink:label="loc_CODXDeferredTaxLiabilitiesRightOfUseAsset" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_CODXDeferredTaxLiabilitiesRightOfUseAsset" 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_DeferredTaxLiabilitiesOtherComprehensiveIncome" xlink:label="loc_us-gaapDeferredTaxLiabilitiesOtherComprehensiveIncome" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesOtherComprehensiveIncome" 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_DeferredTaxLiabilitiesOther" xlink:label="loc_us-gaapDeferredTaxLiabilitiesOther" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesOther" 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_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="loc_us-gaapDeferredTaxAssetsLiabilitiesNet" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsLiabilitiesNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:title="995562 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaapUnrecognizedTaxBenefits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefits" 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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" 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_UnrecognizedTaxBenefits" xlink:label="loc_us-gaapUnrecognizedTaxBenefits_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefits_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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:title="995563 - Disclosure - Income Taxes (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsTaxCreditCarryforwards" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxCreditCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails" xlink:title="995564 - Disclosure - Schedule of Lease Expense (Details)">
      <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_LeaseCost" xlink:label="loc_us-gaapLeaseCost" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLeaseCost" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails" xlink:title="995565 - Disclosure - Schedule of Maturities on Company Lease Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" xlink:label="loc_CODXLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_CODXLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour" 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="50" 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="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" />
      <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="70" 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="80" 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/2003/role/verboseLabel" />
      <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="90" 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://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails" xlink:title="995566 - Disclosure - Schedule of Other Information Related to Operating Lease (Details)">
      <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_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeasePayments" 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="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageRemainingLeaseTerm1" 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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995567 - 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" order="200" />
      <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-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="10" />
      <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="codx-20231231.xsd#CODX_LeaseAmendmentMember" xlink:label="loc_CODXLeaseAmendmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_CODXLeaseAmendmentMember" xlink:type="arc" />
      <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="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails" xlink:title="995568 - Disclosure - Schedule of Treasury Stock (Details)">
      <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_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapTreasuryStockCommonShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_RepurchasesOfCommonStock" xlink:label="loc_CODXRepurchasesOfCommonStock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_CODXRepurchasesOfCommonStock" 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_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapTreasuryStockCommonShares_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative" xlink:title="995569 - Disclosure - Share Repurchase Program (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_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaapStockRepurchaseProgramAuthorizedAmount1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="995570 - Disclosure - Related Party Transactions (Details Narrative)">
      <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_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_SethEganMember" xlink:label="loc_CODXSethEganMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_CODXSethEganMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_WinstonEganMember" xlink:label="loc_CODXWinstonEganMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_CODXWinstonEganMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_CoSaraDiagnosticsPvtLtdMember" xlink:label="loc_CODXCoSaraDiagnosticsPvtLtdMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_CODXCoSaraDiagnosticsPvtLtdMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20231231.xsd#CODX_PaymentToRelatedParty" xlink:label="loc_CODXPaymentToRelatedParty" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_CODXPaymentToRelatedParty" 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="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474640944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 12, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">001-38148<span></span>
</td>
<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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CO-DIAGNOSTICS,
INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001692415<span></span>
</td>
<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_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">46-2609396<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">UT<span></span>
</td>
<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_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2401
S. Foothill Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Salt Lake City<span></span>
</td>
<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_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">84109<span></span>
</td>
<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_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(801)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">438-1036<span></span>
</td>
<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_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common
    Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CODX<span></span>
</td>
<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_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,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_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,259,668<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">270<span></span>
</td>
<td class="text">457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Tanner LLC<span></span>
</td>
<td class="text">Haynie & Company<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Salt
Lake City, Utah<span></span>
</td>
<td class="text">Salt
Lake City, Utah<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314471639792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 14,916,878<span></span>
</td>
<td class="nump">$ 22,973,803<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable investment securities</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">58,289,066<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Accounts receivable, net</a></td>
<td class="nump">303,926<span></span>
</td>
<td class="nump">3,453,723<span></span>
</td>
</tr>
<tr class="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 );">Inventory, net</a></td>
<td class="nump">1,664,725<span></span>
</td>
<td class="nump">5,310,473<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReceivable', window );">Income taxes receivable</a></td>
<td class="nump">26,955<span></span>
</td>
<td class="nump">1,870,419<span></span>
</td>
</tr>
<tr class="re">
<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 );">Prepaid expenses and other current assets</a></td>
<td class="nump">1,597,114<span></span>
</td>
<td class="nump">761,187<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetCurrent', window );">Note receivable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">75,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_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">62,141,108<span></span>
</td>
<td class="nump">92,733,671<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">3,035,729<span></span>
</td>
<td class="nump">2,539,483<span></span>
</td>
</tr>
<tr class="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 );">Operating lease right-of-use asset</a></td>
<td class="nump">2,966,774<span></span>
</td>
<td class="nump">372,115<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Intangible assets, net</a></td>
<td class="nump">26,403,667<span></span>
</td>
<td class="nump">26,768,333<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealEstateInvestmentsJointVentures', window );">Investment in joint venture</a></td>
<td class="nump">773,382<span></span>
</td>
<td class="nump">672,679<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 );">Total assets</a></td>
<td class="nump">95,320,660<span></span>
</td>
<td class="nump">123,086,281<span></span>
</td>
</tr>
<tr class="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>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 );">Accounts payable</a></td>
<td class="nump">1,482,109<span></span>
</td>
<td class="nump">952,296<span></span>
</td>
</tr>
<tr class="re">
<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 );">Accrued expenses</a></td>
<td class="nump">2,172,959<span></span>
</td>
<td class="nump">934,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability, current</a></td>
<td class="nump">838,387<span></span>
</td>
<td class="nump">297,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent', window );">Contingent consideration liabilities, current</a></td>
<td class="nump">891,666<span></span>
</td>
<td class="nump">1,689,471<span></span>
</td>
</tr>
<tr class="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 );">Deferred revenue</a></td>
<td class="nump">362,449<span></span>
</td>
<td class="text"> <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 );">Total current liabilities</a></td>
<td class="nump">5,747,570<span></span>
</td>
<td class="nump">3,873,423<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Long-term liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_TaxesPayableNoncurrent', window );">Income taxes payable</a></td>
<td class="nump">659,186<span></span>
</td>
<td class="nump">1,181,284<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liability</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,417,987<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability</a></td>
<td class="nump">2,152,180<span></span>
</td>
<td class="nump">50,708<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent', window );">Contingent consideration liabilities</a></td>
<td class="nump">748,109<span></span>
</td>
<td class="nump">1,042,885<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_LiabilitiesNoncurrent', window );">Total long-term liabilities</a></td>
<td class="nump">3,559,475<span></span>
</td>
<td class="nump">4,692,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_Liabilities', window );">Total liabilities</a></td>
<td class="nump">9,307,045<span></span>
</td>
<td class="nump">8,566,287<span></span>
</td>
</tr>
<tr class="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>Stockholders&#8217; 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 );">Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively</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_CommonStockValue', window );">Common stock, $0.001 par value; 100,000,000 shares authorized; 36,108,346 shares issued and 31,259,668 shares outstanding as of December 31, 2023 and 34,754,265 shares issued and 30,872,607 shares outstanding as of December 31, 2022</a></td>
<td class="nump">36,108<span></span>
</td>
<td class="nump">34,754<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost; 4,848,678 and 3,881,658 shares held as of December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="num">(15,575,795)<span></span>
</td>
<td class="num">(14,211,866)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">96,808,436<span></span>
</td>
<td class="nump">88,472,935<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive income</a></td>
<td class="nump">146,700<span></span>
</td>
<td class="nump">293,140<span></span>
</td>
</tr>
<tr class="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 earnings</a></td>
<td class="nump">4,598,166<span></span>
</td>
<td class="nump">39,931,031<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">86,013,615<span></span>
</td>
<td class="nump">114,519,994<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 95,320,660<span></span>
</td>
<td class="nump">$ 123,086,281<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_TaxesPayableNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Taxes payable non current.</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;">CODX_TaxesPayableNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<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 (g)(2)(ii)<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 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 5: 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(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: 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)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-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_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and 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/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/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<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> -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_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetAcquisitionContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liability recognized from contingent consideration in asset acquisition, 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/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 15<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480123/805-50-15-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_AssetAcquisitionContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetAcquisitionContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liability recognized from contingent consideration in asset acquisition, 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/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 15<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480123/805-50-15-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_AssetAcquisitionContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<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_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<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)(15)(b)(2))<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-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_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount as of the balance sheet date of income taxes previously overpaid to tax authorities (such as U.S. Federal, state and local tax authorities) representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes. Also called income tax refund receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 due after 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/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 3: 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 4: 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 5: 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 6: 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 7: 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 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)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: 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 10: 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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 21: 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 201.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 22: 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 201.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 23: 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 201.5-02(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_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in marketable security, 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/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(2))<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_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost, after allowance for credit loss, of financing receivable classified as current. Excludes net investment in 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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 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_NotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_RealEstateInvestmentsJointVentures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 book value of investments in real estate joint ventures including direct and indirect investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-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_RealEstateInvestmentsJointVentures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="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.29,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_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474502304">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Convertible 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="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 );">Convertible preferred stock , shares authorized</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,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_PreferredStockSharesIssued', window );">Convertible 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 );">Convertible 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_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">100,000,000<span></span>
</td>
<td class="nump">100,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">36,108,346<span></span>
</td>
<td class="nump">34,754,265<span></span>
</td>
</tr>
<tr class="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">31,259,668<span></span>
</td>
<td class="nump">30,872,607<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">4,848,678<span></span>
</td>
<td class="nump">3,881,658<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473013136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations and Comprehensive Loss - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 6,812,038<span></span>
</td>
<td class="nump">$ 34,218,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">4,184,949<span></span>
</td>
<td class="nump">5,481,093<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">2,627,089<span></span>
</td>
<td class="nump">28,737,116<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">6,860,815<span></span>
</td>
<td class="nump">7,344,628<span></span>
</td>
</tr>
<tr class="ro">
<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 );">General and administrative</a></td>
<td class="nump">14,279,441<span></span>
</td>
<td class="nump">14,262,963<span></span>
</td>
</tr>
<tr class="re">
<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 );">Research and development</a></td>
<td class="nump">22,962,593<span></span>
</td>
<td class="nump">17,438,098<span></span>
</td>
</tr>
<tr class="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">1,230,474<span></span>
</td>
<td class="nump">1,282,718<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment charges</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">15,388,546<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_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">45,333,323<span></span>
</td>
<td class="nump">55,716,953<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(42,706,234)<span></span>
</td>
<td class="num">(26,979,837)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income, net</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">1,161,913<span></span>
</td>
<td class="nump">704,045<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealizedInvestmentGainsLosses', window );">Realized gain on investments</a></td>
<td class="nump">2,243,059<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_GainLossOnDispositionOfAssets1', window );">Loss on disposition of assets</a></td>
<td class="num">(2,578)<span></span>
</td>
<td class="num">(138,117)<span></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_CODX_GainOnRemeasurementOfAcquisitionContingencies', window );">Gain on remeasurement of acquisition contingencies</a></td>
<td class="nump">1,092,581<span></span>
</td>
<td class="nump">7,899,644<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Gain (loss) on equity method investment in joint venture</a></td>
<td class="nump">100,703<span></span>
</td>
<td class="num">(332,969)<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_NonoperatingIncomeExpense', window );">Total other income, net</a></td>
<td class="nump">4,595,678<span></span>
</td>
<td class="nump">8,132,603<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">(38,110,556)<span></span>
</td>
<td class="num">(18,847,234)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax benefit</a></td>
<td class="num">(2,777,691)<span></span>
</td>
<td class="num">(4,608,985)<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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(35,332,865)<span></span>
</td>
<td class="num">(14,238,249)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive loss</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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Change in net unrealized gains on marketable securities, net of tax</a></td>
<td class="num">(146,440)<span></span>
</td>
<td class="nump">293,140<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_OtherComprehensiveIncomeLossBeforeTax', window );">Total other comprehensive income (loss)</a></td>
<td class="num">(146,440)<span></span>
</td>
<td class="nump">293,140<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss</a></td>
<td class="num">$ (35,479,305)<span></span>
</td>
<td class="num">$ (13,945,109)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Loss per common share:</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_EarningsPerShareBasic', window );">Basic</a></td>
<td class="num">$ (1.20)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="num">$ (1.20)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Weighted average shares outstanding:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">29,346,599<span></span>
</td>
<td class="nump">31,479,028<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">29,346,599<span></span>
</td>
<td class="nump">31,479,028<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=CODX_ProductRevenueMember', window );">Product Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 991,473<span></span>
</td>
<td class="nump">$ 34,218,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=CODX_GrantRevenueMember', window );">Grant Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 5,820,565<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_GainOnRemeasurementOfAcquisitionContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on remeasurement of acquisition contingencies.</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;">CODX_GainOnRemeasurementOfAcquisitionContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: 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(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: 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(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-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_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_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_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</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_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing 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 (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-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_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: 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(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<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 (b)<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 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: 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 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 (c)<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 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 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: 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(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: 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(15))<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest income earned from interest bearing assets 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_InterestIncomeOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Includes 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_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_OtherComprehensiveIncomeLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax, after reclassification adjustments of other comprehensive income (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 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 2: 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 3: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<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 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> -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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<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 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<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_OtherComprehensiveIncomeLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<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 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RealizedInvestmentGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investment.</p></div>
<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 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-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_RealizedInvestmentGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=CODX_ProductRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_ProductRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=CODX_GrantRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_GrantRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>20
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472661088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statement of Changes in Stockholders' Equity - USD ($)<br></strong></div></th>
<th class="th">
<div>Convertible Preferred Stock [Member] </div>
<div>Preferred Stock [Member]</div>
</th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Treasury Stock, Common [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Retained Earnings [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 );">Balance at Dec. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 33,820<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 80,271,999<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 54,169,280<span></span>
</td>
<td class="nump">$ 134,475,099<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 );">Balance, shares at Dec. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">33,819,862<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Common stock issued for option exercises</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 70<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">77,800<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 77,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued for option exercises, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,791<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,791<span></span>
</td>
</tr>
<tr class="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 );">Common stock issued for warrant exercises</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 50<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">99,950<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 100,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_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued for warrant exercises, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,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_StockIssuedDuringPeriodValueShareBasedCompensationGross', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 725<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,542,498<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,543,223<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Stock-based compensation expense, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">725,166<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueAcquisitions', window );">Common stock issued for acquisitions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 89<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">480,687<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">480,776<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Common stock issued for acquisitions, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,446<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockRepurchasedDuringPeriodValue', window );">Repurchases of common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(14,211,866)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(14,211,866)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive loss, net of tax</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">293,140<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">293,140<span></span>
</td>
</tr>
<tr class="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">(14,238,249)<span></span>
</td>
<td class="num">(14,238,249)<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 );">Balance at Dec. 31, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 34,754<span></span>
</td>
<td class="num">(14,211,866)<span></span>
</td>
<td class="nump">88,472,935<span></span>
</td>
<td class="nump">293,140<span></span>
</td>
<td class="nump">39,931,031<span></span>
</td>
<td class="nump">$ 114,519,994<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 );">Balance, shares at Dec. 31, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">34,754,265<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued for option exercises, 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"> <span></span>
</td>
</tr>
<tr class="re">
<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-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,354<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">8,335,501<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 8,336,855<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Stock-based compensation expense, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,354,081<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockRepurchasedDuringPeriodValue', window );">Repurchases of common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,363,929)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,363,929)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive loss, net of tax</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">(146,440)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(146,440)<span></span>
</td>
</tr>
<tr class="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">(35,332,865)<span></span>
</td>
<td class="num">(35,332,865)<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 );">Balance at Dec. 31, 2023</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 36,108<span></span>
</td>
<td class="num">$ (15,575,795)<span></span>
</td>
<td class="nump">$ 96,808,436<span></span>
</td>
<td class="nump">$ 146,700<span></span>
</td>
<td class="nump">$ 4,598,166<span></span>
</td>
<td class="nump">$ 86,013,615<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 );">Balance, shares at Dec. 31, 2023</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">36,108,346<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification adjustments of other comprehensive income (loss).</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 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 3: 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 4: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<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 6: http://www.xbrl.org/2009/role/commonPracticeRef<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 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> -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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 9: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 10: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br><br>Reference 12: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-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_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 during the period pursuant to acquisitions.</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> -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> -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_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_StockIssuedDuringPeriodSharesShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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_StockIssuedDuringPeriodSharesShareBasedCompensationGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share options (or share units) exercised during the current 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 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 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><br>Reference 4: 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 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(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_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pursuant to acquisitions 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://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_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="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 (c)<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_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314468498064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" 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">$ (35,332,865)<span></span>
</td>
<td class="num">$ (14,238,249)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to cash (used in) provided by 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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,230,474<span></span>
</td>
<td class="nump">1,282,718<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment charges</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">15,388,546<span></span>
</td>
</tr>
<tr class="ro">
<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 expense</a></td>
<td class="nump">8,336,855<span></span>
</td>
<td class="nump">7,543,223<span></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_CODX_GainOnRemeasurementOfAcquisitionContingencies', window );">Change in fair value of acquisition contingencies</a></td>
<td class="num">(1,092,581)<span></span>
</td>
<td class="num">(7,899,644)<span></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_CODX_NoncashLeaseExpense', window );">Non-cash lease expense</a></td>
<td class="nump">47,992<span></span>
</td>
<td class="nump">30,430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealizedInvestmentGainsLosses', window );">Realized gain on investments</a></td>
<td class="num">(2,243,059)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">(Gain) loss from equity method investment</a></td>
<td class="num">(100,703)<span></span>
</td>
<td class="nump">332,969<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Loss on disposition of assets</a></td>
<td class="nump">2,578<span></span>
</td>
<td class="nump">138,117<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(2,417,987)<span></span>
</td>
<td class="num">(4,810,457)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for credit losses</a></td>
<td class="nump">612,809<span></span>
</td>
<td class="nump">2,461,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Inventory obsolescence expense</a></td>
<td class="nump">3,233,281<span></span>
</td>
<td class="nump">148,099<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">2,536,988<span></span>
</td>
<td class="nump">14,924,427<span></span>
</td>
</tr>
<tr class="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 );">Prepaid expenses and other assets</a></td>
<td class="nump">1,082,536<span></span>
</td>
<td class="num">(224,094)<span></span>
</td>
</tr>
<tr class="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 );">Inventory</a></td>
<td class="nump">413,140<span></span>
</td>
<td class="num">(3,673,309)<span></span>
</td>
</tr>
<tr class="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 );">Deferred revenue</a></td>
<td class="nump">362,449<span></span>
</td>
<td class="num">(150,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_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income taxes payable</a></td>
<td class="num">(522,098)<span></span>
</td>
<td class="num">(2,201,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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable, accrued expenses and other liabilities</a></td>
<td class="nump">1,768,326<span></span>
</td>
<td class="num">(2,483,821)<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) provided by operating activities</a></td>
<td class="num">(22,081,865)<span></span>
</td>
<td class="nump">6,568,737<span></span>
</td>
</tr>
<tr class="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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(1,365,306)<span></span>
</td>
<td class="num">(1,427,512)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities', window );">Proceeds from maturities of marketable investment securities</a></td>
<td class="nump">127,251,619<span></span>
</td>
<td class="nump">11,255,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_PaymentsToAcquireMarketableSecurities', window );">Purchases of marketable securities</a></td>
<td class="num">(110,497,444)<span></span>
</td>
<td class="num">(67,995,926)<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) provided by investing activities</a></td>
<td class="nump">15,388,869<span></span>
</td>
<td class="num">(58,168,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_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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from exercise of options and warrants</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">177,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchases of common stock</a></td>
<td class="num">(1,363,929)<span></span>
</td>
<td class="num">(14,211,866)<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 (used in) financing activities</a></td>
<td class="num">(1,363,929)<span></span>
</td>
<td class="num">(14,033,996)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net decrease in cash and cash equivalents</a></td>
<td class="num">(8,056,925)<span></span>
</td>
<td class="num">(65,633,431)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">22,973,803<span></span>
</td>
<td class="nump">88,607,234<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">14,916,878<span></span>
</td>
<td class="nump">22,973,803<span></span>
</td>
</tr>
<tr class="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="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_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">55,975<span></span>
</td>
<td class="nump">4,498,742<span></span>
</td>
</tr>
<tr class="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 disclosure of non-cash investing and financing transactions</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_CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment', window );">Inventory moved to property, plant and equipment</a></td>
<td class="nump">673<span></span>
</td>
<td class="nump">218,906<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for new operating lease liabilities</a></td>
<td class="nump">3,203,146<span></span>
</td>
<td class="nump">681,327<span></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_CODX_BusinessAcquisitionMeasurementPeriodAdjustments', window );">Business acquisition measurement period adjustments</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">1,593<span></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_CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments', window );">Fair value of common stock issued as consideration for business acquisitions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">480,776<span></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_CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions', window );">Fair value of contingent common stock issued as consideration for business acquisitions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 199,359<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_BusinessAcquisitionMeasurementPeriodAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business acquisition measurement period adjustments.</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;">CODX_BusinessAcquisitionMeasurementPeriodAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent common stock and warrants issued as consideration for business acquisitions.</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;">CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_GainOnRemeasurementOfAcquisitionContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gain on remeasurement of acquisition contingencies.</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;">CODX_GainOnRemeasurementOfAcquisitionContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_NoncashLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash lease 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;">CODX_NoncashLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash or part noncash inventory moved to property plant and equipment..</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period value acquisitions adjustments.</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;">CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</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_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing 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 (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-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_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount due within one year (or one business cycle) from customers for the credit 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_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</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_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-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_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outflow for purchase of marketable 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/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-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_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional capital contribution to the entity.</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_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: 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(5))<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_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RealizedInvestmentGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investment.</p></div>
<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 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-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_RealizedInvestmentGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in right-of-use asset obtained in exchange for operating 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 (g)(2)<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474525392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss) Attributable to Parent</a></td>
<td class="num">$ (35,332,865)<span></span>
</td>
<td class="num">$ (14,238,249)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474463760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual [Table]</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 2<br> -Subparagraph 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_TradingArrByIndTable</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474637776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Overview and Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Overview and Basis of Presentation</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zK17KQjiKMW3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1 &#8211; <span id="xdx_822_zyY9s81ohGz4">Overview and Basis of Presentation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description
of Business</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation (the &#8220;Company&#8221; or &#8220;CODX&#8221;), is a molecular diagnostics company that develops, manufactures
and markets state-of-the-art diagnostics technologies. The Company&#8217;s technologies are utilized for tests that are designed using
the detection and/or analysis of nucleic acid molecules (DNA or RNA). The Company also uses its proprietary technology to design specific
tests for its Co-Dx PCR platform and to locate genetic markers for use in applications other than infectious disease. In connection with
the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained lab systems.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Use
of Estimates</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates
and assumptions that affect the amounts reported in the financial statements and the accompanying notes. Such estimates include inventories,
receivables and other long-lived assets, legal and regulatory contingencies, income taxes, share based arrangements, and others. These
estimates and assumptions are based on management&#8217;s best estimates and judgments. Actual amounts and results could differ from
those estimates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
of Presentation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying audited consolidated financial statements of Co-Diagnostics, Inc. and its wholly owned subsidiaries have been prepared to
reflect the financial position, results of operations and cash flows of the Company and have been prepared in accordance with accounting
principles generally accepted in the United States of America (&#8220;GAAP&#8221;). All intercompany balances and transactions have been
eliminated.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</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 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/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_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475711904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--SignificantAccountingPoliciesTextBlock_zS9IKylZNoL4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2 &#8211; <span id="xdx_822_zPA1zgukJ5Tl">Summary of Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p id="xdx_841_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zgfVcYfuqaVe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86B_zZMBHjoqHgu1">Reclassifications</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform with the current year&#8217;s presentation. These reclassifications have no impact
on the previously reported results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zo0xPam83Tq3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_867_zf8QIN6BmfMj">Cash
and Cash Equivalents</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2023 and December
31, 2022. <span style="background-color: white">The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84A_eus-gaap--MarketableSecuritiesPolicy_zlEPnn4jBAJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_z3qanzkPGLB3">Marketable
Investment Securities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s marketable investment securities are comprised of investments in certificates of deposit and U.S. Treasury bills and
notes. The Company designates investments in debt securities as available-for-sale. Available-for-sale debt securities with original
maturities of three months or less from the date of purchase are classified within cash and cash equivalents. Available-for-sale debt
securities with original maturities longer than three months are available to fund current operations and are classified as marketable
investment securities, within current assets on the consolidated balance sheets. The Company may sell these securities at any time for
use in its current operations or for other purposes, even prior to maturity. Available-for-sale debt securities are reported at fair
value with the related unrealized gains and losses included in accumulated other comprehensive income (loss), a component of stockholders&#8217;
equity, net of tax. Realized gains and losses on the sale of marketable securities are determined using the average cost method on a
first-in, first-out basis and recorded in total other income (expense), net in the consolidated statements of operations and
comprehensive loss.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
available-for-sale debt securities are subject to a periodic impairment review. For investments in an unrealized loss position, the Company
writes down the amortized cost basis of the investment if it is more likely than not that the Company will be required or will intend
to sell the investment before recovery of its amortized cost basis. For investments not likely to be sold before recovery of the amortized
cost basis, the Company determines whether a credit loss exists by considering information about the collectability of the instrument,
current market conditions, and reasonable and supportable forecasts of economic conditions. The Company recognizes an allowance for credit
losses up to the amount of the unrealized loss when appropriate. Allowances for credit losses and write-downs are recognized in total
other income (expense), net, and unrealized losses not related to credit losses are recognized in accumulated other comprehensive income
(loss). There are no allowances for credit losses recorded for the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_841_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zjfI7s38hG05" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zKSsan0x0tQ3">Accounts
Receivable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2023 total accounts receivable was $<span id="xdx_907_eus-gaap--AccountsReceivableGrossCurrent_iI_c20231231_zd5G7Uv4KiLf" title="Accounts receivable">504,264</span> with an allowance for uncollectable
accounts of $<span id="xdx_90E_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20231231_z3WF38LF7oo3" title="Doubtful accounts">200,338</span> resulting in a net amount of $<span id="xdx_90F_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231_zsOBKSr949Yc" title="Accounts receivable, net">303,926</span>. At December 31, 2022 total accounts receivable was $<span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20221231_zg1wQ3qeMxme" title="Accounts receivable">6,552,249</span> with an allowance
for uncollectable accounts of $<span id="xdx_906_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20221231_zo4xqO3OXCoa" title="Doubtful accounts">3,098,526</span> resulting in a net amount of $<span id="xdx_909_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231_zoKjKV2z9B38" title="Accounts receivable, net">3,453,723</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_840_eus-gaap--EquityMethodInvestmentsPolicy_zjyDSkjQltQl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_zzFO0EyklNR4">Equity-Method
Investments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--InventoryPolicyTextBlock_zSp7OhUdQxgl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zl4ZF9vYbOg">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2023, the Company had $<span id="xdx_90B_eus-gaap--InventoryNet_iI_c20231231_z6PCywmDUDG9" title="Inventory">1,664,725</span> in inventory, of which $<span id="xdx_90A_eus-gaap--InventoryFinishedGoods_iI_c20231231_z94I6ygZzwCk" title="Inventory finished goods">700,467</span> was
finished goods and $<span id="xdx_90E_eus-gaap--InventoryRawMaterials_iI_c20231231_zJMptRxe6gUe" title="Inventory raw materials">964,258</span> was raw materials. At December 31, 2022, the Company had $<span id="xdx_90F_eus-gaap--InventoryNet_iI_c20221231_zVeBGEa9llqk" title="Inventory">5,310,473</span> in inventory, of which $<span id="xdx_900_eus-gaap--InventoryFinishedGoods_iI_c20221231_zjyfGVfOoaka" title="Inventory, finished goods, gross">1,327,264</span> was
finished goods and $<span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20221231_zpzPiWmTUqAf" title="Inventory, raw materials, gross">3,983,209</span> was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values. The Company recognized $<span id="xdx_90C_eus-gaap--InventoryValuationReserves_iI_c20231231_z7HeyO90m1va" title="Inventory reserves">2,760,011</span> and $<span id="xdx_90A_eus-gaap--InventoryValuationReserves_iI_c20221231_zYUie1DzaI72" title="Inventory reserves">0</span> related to the change in inventory reserves during
the years ended December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84B_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxLil2YaJv0a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_864_z0gbqRq4dQkl">Goodwill
and Intangible Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. Goodwill and indefinite-lived intangible assets are not amortized, but rather tested for impairment
at least annually on December 31, or more often if and when circumstances indicate that the carrying value may not be recoverable. Finite-lived
intangible assets are amortized over their useful lives.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the years ended December 31, 2023 and 2022, the Company recognized impairment charges related to goodwill of $<span id="xdx_908_eus-gaap--AssetImpairmentCharges_c20230101__20231231_zROHa50m8DUk" title="Impairment charges">0</span> and $<span id="xdx_902_eus-gaap--AssetImpairmentCharges_c20220101__20221231_zFwqQ1qJnSYf" title="Impairment charges">15,388,546</span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p id="xdx_841_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zjBk0XfSy838" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zKBocwNeXqlf">Long-lived
Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-lived
assets, such as property and equipment, are stated at cost less accumulated depreciation and amortization. Depreciation is provided using
the straight-line method over the estimated useful lives of the property, generally from three to five years. Repairs and maintenance
costs are expensed as incurred except when such repairs significantly add to the useful life or productive capacity of the asset, in
which case the repairs are capitalized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
in-process research and development projects acquired in business combinations, the in-process research and development project is capitalized
and evaluated for impairment until the development process has been completed. Once the development process has been completed the asset
will be amortized over its remaining estimated useful life. The Company reviews its long-lived assets, including property and equipment,
indefinite-lived and finite-lived intangible assets, and ROU assets, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_840_eus-gaap--RevenueRecognitionPolicyTextBlock_zkXlqbLi9CK2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zgp2Yuq1aaf8">Revenue
Recognition</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_ecustom--GrantRevenuePolicyTextBlock_zyzCUNusPirk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zaUQRDcJojj4">Grant
Revenue</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company may submit applications to receive grant funding from governmental and non-governmental entities. The Company accounts for grants
by analogizing to the contribution accounting model under ASC 958-605, Not-for-Profit Entities (&#8220;ASC 958&#8221;). Revenues from
grants, contracts, and awards provided by governmental and non-governmental agencies are recorded based upon the terms of the specific
agreements. The Company recognizes grant funding without conditions or continuing performance obligations as revenue in the consolidated statements of operations and comprehensive income (loss). The Company recognizes grant funding with conditions or continuing
performance obligations as deferred revenue in the consolidated balance sheets if the conditions or performance obligations
have not yet been met. The Company recognized grant funding revenue of $<span id="xdx_90E_ecustom--GrantFundingRevenue_pn5n6_c20230101__20231231_zUTj38eP6Alh" title="Grant funding revenue">5.8</span> million during the year ended December 31, 2023. At December
31, 2023, the Company has also recorded $<span id="xdx_90B_eus-gaap--DeferredRevenue_iI_pn5n6_c20231231_z6ID4mjPr8Ta" title="Deferred revenue">0.3</span> million of deferred revenue related to grant funding for which the cash was received, but
the underlying conditions or performance obligations have not yet been met. Cash received from federal grants, contracts, and awards
can be subject to audit by the grantor and, if the examination results in a disallowance of any expenditure, repayment could be required.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zGBmU9O1qKka" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zHdll12KRuYa">Deferred
Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84A_eus-gaap--ResearchAndDevelopmentExpensePolicy_zGnsfG3qBV8l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_z721q2mfbAs1">Research
and Development</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research
and development costs are expensed when incurred. The Company recorded $<span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20230101__20231231_zkOeMY6IYCF6" title="Research and development">22,962,593</span> and $<span id="xdx_905_eus-gaap--ResearchAndDevelopmentExpense_c20220101__20221231_zq70NmF6GRO1" title="Research and development">17,438,098</span> of research and development costs
for the years ended December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zO1J66Qw1C81" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zXvi2lFfjxDc">Stock-based
Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#8220;RSUs&#8221;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. <span style="background-color: white">When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_840_eus-gaap--IncomeTaxPolicyTextBlock_zxGKGvd04jLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zEM3A1mvmcL">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. The Company has uncertain income tax positions in the consolidated
financial statements, and adverse determinations by these taxing authorities could have a material adverse effect on the consolidated
financial positions, result of operations, or cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_847_eus-gaap--EarningsPerSharePolicyTextBlock_z9fZAoQAf3e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_z9ZrFdVPLDz6">Net
Income (Loss) per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_841_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z0l7LUASb4d9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zOcL1rhqo8p7">Comprehensive
Income (Loss)</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Comprehensive
loss is comprised of net loss and unrealized gains and losses on marketable securities, net of income taxes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_847_eus-gaap--ConcentrationRiskCreditRisk_z3uady2vZ1H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_860_zpxT2VGITII6">Concentrations
Risk and Significant Customers</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which were each responsible for generating <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zeWhSgluJF3a" title="Concentration risk percentage"><span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zjPJNOTSiCGi" title="Concentration risk percentage">10</span></span>% or more of the total revenue for the years ended December
31, 2023 and 2022, respectively. Two customers accounted for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zvaMjr3yRLV9" title="Concentration risk percentage">28</span>% of product revenue for the year ended December 31, 2023
and one customer accounted for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--OneCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zxx0kXFeHxH7" title="Concentration risk percentage">37</span>% of product revenue for the year ended December 31, 2022. One granting agency accounted
for <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--OneGrantingAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z0UiTEgdSQP8" title="Concentration risk percentage">100</span>% of grant revenue for the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Three
customers accounted for more than <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z5HhCKDJFR9h" title="Concentration risk percentage"><span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zB4AiwtztUO5" title="Concentration risk percentage">10</span></span>% of accounts receivable at December 31, 2023 and 2022, respectively. These customers together accounted
for approximately <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcVLqDdo9Oll" title="Concentration risk percentage">97</span>% and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zkFZiWlLg7dj" title="Concentration risk percentage">61</span>% of accounts receivable at December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84D_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zrw0s1UYia53" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_869_z8xIJvrsmkqc">Recently
Issued Accounting Standards</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#8217;s financial statements upon adoption.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires an entity
to disclose annually additional information related to the company&#8217;s income tax rate reconciliation and income taxes paid during
the period. The guidance should be applied prospectively with the option to apply the standard retrospectively. The standard becomes
effective for the Company for full year 2025 reporting. The Company is currently evaluating the impact of this new standard on its consolidated
financial statements.</span></p>

<p id="xdx_85D_z6rHdGAdpqK8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473649376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [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_CashCashEquivalentsAndMarketableSecuritiesTextBlock', window );">Cash, Cash Equivalents, and Financial Instruments</a></td>
<td class="text"><p id="xdx_807_eus-gaap--CashCashEquivalentsAndMarketableSecuritiesTextBlock_ztCGiDmSwobd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3 &#8211; <span id="xdx_82A_zTS8GF19eHgb">Cash, Cash Equivalents, and Financial Instruments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_894_eus-gaap--ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_zf2SWnhlb8Q2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
following table shows the Company&#8217;s cash, cash equivalents, and marketable investment securities by significant investment category:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BF_zAp7Fx6s2PQb" style="display: none">Schedule
of Cash, Cash Equivalents and Marketable Investment Securities</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="22" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Adjusted Cost</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Allowance for Credit Losses</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Total Unrealized Gains / (Losses)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Fair Value</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Cash and Cash Equivalents</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Marketable Investment Securities</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zyKhFnLoh8sk" style="width: 6%; text-align: right" title="Adjusted Cost">4,317,449</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zhOPuTS7j8Q9" style="width: 6%; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0695">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z1bAV9MsJVW5" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0697">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zFUlnlSVvyHa" style="width: 6%; text-align: right" title="Fair Value">4,317,449</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z6sPNc9ghZF7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents">4,317,449</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z4caqpTOlsdl" style="width: 6%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0703">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Level 1:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: 1.5pt">Money market funds</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQigIxvtBPr2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">10,599,429</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zFvTgr3fpQpi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0707">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zeRx2961HDUe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0709">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2Awplb5xur4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">10,599,429</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPG2uz7qKU2i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">10,599,429</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2CEHX9WVTBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0715">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Subtotal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z8MsH7FJB4F1" style="text-align: right" title="Adjusted Cost">10,599,429</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDCybvPZbKZg" style="text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0719">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zI6kRW8gay8" style="text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zSZeEsZDHRt9" style="text-align: right" title="Fair Value">10,599,429</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_ziVoYlYntZZ5" style="text-align: right" title="Cash and Cash Equivalents">10,599,429</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znhvsDsPJRIa" style="text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0727">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Level 2:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-bottom: 1.5pt">U.S. treasury securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z6wSL9Oi8tDk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">43,484,810</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zY2HPb3OtQVl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0731">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQzPfEJSVL45" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">146,700</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zqMcVj29qUr9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztqBYLr2UM12" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"><span style="-sec-ix-hidden: xdx2ixbrl0737">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zmLxRTTCyjN9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Subtotal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z3wvWUnhWs49" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">43,484,810</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z59Pnf6zvaWi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0743">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z5rLfnUkZxSb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">146,700</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFISYI24g4Ie" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zEixkv8r9Ycd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zD9LwMZohJv4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231_zLrJINOTLoOd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost">58,401,688</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231_zGzTF26z7AU6" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231_zS3j87JMb4m7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)">146,700</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231_zI5OvNMEMvDk" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value">58,548,388</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231_zXitdTzEWve2" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents">14,916,878</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20231231_zSXid3gTMGNg" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">43,631,510</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="22" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Adjusted Cost</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Allowance for Credit Losses</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total Unrealized Gains / (Losses)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Cash and Cash Equivalents</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Marketable Securities</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zI4dCS93maMj" style="width: 6%; text-align: right" title="Adjusted Cost">12,834,444</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zCJAy9G0zf2l" style="width: 6%; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0767">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z2C2ObFuuvl9" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0769">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zNpYN8nn1m5c" style="width: 6%; text-align: right" title="Fair Value">12,834,444</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zii0bK5QlNt7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents">12,834,444</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zvkySZu6vrhf" style="width: 6%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0775">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Level 1:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: 1.5pt">Money market funds</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQvVNtk3OBf6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">146,359</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zpvVRyC5wPWd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0779">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDjhCvDQ6SNb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0781">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zh3BtbfHrL53" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">146,359</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znkYPYX3eqFg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">146,359</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zOtfBq5D7oAk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0787">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Subtotal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zj4OchRmM3qf" style="text-align: right" title="Adjusted Cost">146,359</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6rCOpR22yte" style="text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0791">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAvnoSf05ezl" style="text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0793">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zEs6ehGfSed1" style="text-align: right" title="Fair Value">146,359</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zZlw9kRnGhnd" style="text-align: right" title="Cash and Cash Equivalents">146,359</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPAygaqEHEe" style="text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0799">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Level 2:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-bottom: 1.5pt">U.S. treasury securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zyCTeVMBWVAf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">67,892,825</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zl4PJdTkDAqi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0803">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zKVc2ulO4CX7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">389,241</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zPl9Org36pVa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">68,282,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z4SFbt6W5bsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">9,993,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zHID2PIcIz59" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Subtotal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zb75OImgHOTc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">67,892,825</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zS5wG8FmjNag" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0815">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztKMSOqkPDSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">389,241</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zu5MUYAFkV3c" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">68,282,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFGipkhUkqV4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">9,993,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zkFsVRNF5g6h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231_z5PC2dk9nySd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost">80,873,628</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231_z17FziJpKEw9" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0827">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231_zGmNJIFDJBA" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)">389,241</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--TradingSecurities_iI_c20221231_zdbiCRwmnFul" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value">81,262,869</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231_zOKL2CFWJko" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents">22,973,803</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20221231_zwIKAQCrnwJ8" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">58,289,066</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_z1g8H2MFsl5k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Marketable
investment securities held as of December 31, 2023 mature over the next 12 months.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash, cash equivalents, and debt and equity securities, including any unrealized or realized 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/2009/role/commonPracticeRef<br> -Topic 320<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//320/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_CashCashEquivalentsAndMarketableSecuritiesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475547504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><p id="xdx_805_eus-gaap--FairValueDisclosuresTextBlock_zYu0wDeZgruf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4 &#8211; <span id="xdx_82A_ztvwdchIOVP8">Fair Value Measurements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company measures and records certain financial assets and liabilities at fair value on a recurring basis. Fair value is based on the
price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants
at the measurement date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following three levels of inputs are used to measure the fair value of financial assets and liabilities:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
1: Quoted market prices in active markets for identical assets or liabilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
3: Unobservable inputs that are not corroborated by market data.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89D_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zL5U1YlBX0ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and December
31, 2022, by level within the fair value hierarchy:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_z6moWAgDH4Ub" style="display: none">Schedule
of Fair Value Assets and Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAD4Mk0LEej4" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zXbLCtEqcWKi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_493_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zOM5iQdFZQF2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zn4HUiXQCbcg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2023</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zlvxtjm5Fa66" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left">Cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">13,806,864</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0842">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">13,806,864</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zamJqINEfQoh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Marketable securities (U.S. treasury bills and notes)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0846">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0848">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zMRUzmbtZUtc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</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">13,806,864</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">43,631,510</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: xdx2ixbrl0853">-</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">57,438,374</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Liabilities:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zir3FqVmEYq6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0856">-</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: xdx2ixbrl0857">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,318,995</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,318,995</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zrbcMERjNEKi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0861">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">320,780</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">320,780</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zGnyNofwXHDi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</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: xdx2ixbrl0866">-</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: xdx2ixbrl0867">-</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">1,639,775</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">1,639,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zbEAdaHhU5W1" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zcdPKOmcY4H7" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zWGVdzflhLGh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zsWk8KpZjKwl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#8239;Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2022</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zmi0iEtTmYt" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left">Cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">186,667</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">9,993,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0873">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">10,179,667</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zw3vz65zPQLb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Marketable securities (U.S. treasury bills and notes)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0876">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0878">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zAWuhb3z8p0i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</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">186,667</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">68,282,066</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: xdx2ixbrl0883">-</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">68,468,733</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>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zg3l98euYy1k" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0886">-</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: xdx2ixbrl0887">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,499,147</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,499,147</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zQvlKUpIZKt3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0891">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">233,209</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">233,209</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zwLBc57WrGh9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</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: xdx2ixbrl0896">-</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: xdx2ixbrl0897">-</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">2,732,356</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,732,356</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zNUpTTzInO5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s financial instruments that are measured at fair value on a recurring basis consist of certificates of deposit and U.S.
treasury bills and notes as of December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with prior year acquisitions, the Company recorded a liability for contingent consideration in the form of shares of common
stock and warrants to purchase common stock, both to be issued when certain milestones are achieved. The fair value of contingent consideration is calculated using a discounted probability
weighted valuation model. Discount rates used in such calculations are a significant assumption that are not observed in the market,
and therefore, the resulting fair value represents a Level 3 measurement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zpdn14zW2MP2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes for Level 3 items measured at fair value on a recurring basis are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zsYaPKpwD5v7" style="display: none">Schedule
of Changes in the Fair Value Measurement</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20230101__20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zr5JjQ86pSRk" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_pp0p0_zZ1kSkp0iIfl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%">Fair value as of December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,732,356</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_zg2Ux4C9pMl6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in fair value of contingent consideration issued for business acquisitions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,092,581</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_zwkvocA8Y428" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Fair value as of December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,639,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zexBVP5xhkP" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the contingent consideration is based on the fair value of the contingent consideration-common stock and contingent consideration-warrants.
The fair value of the contingent consideration-common stock is equal to the probability-adjusted value of the Company&#8217;s common
stock as of the valuation date. The fair value of the contingent consideration-warrants is equal to the probability adjusted value of
a call option with terms consistent with the terms of the warrants as of the valuation date. Prior to the probability adjustments, the
warrants were valued based on the following inputs:</span></p>

<p id="xdx_89B_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zkO2Q6OwY5q3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zHGqSjQV5q98" style="display: none">Schedule
of Contingent Consideration Common Stock and Warrants</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zStncyLg47yj" style="width: 14%; text-align: right" title="Warrants measurement input">1.33</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_z0swE95w1H9" style="width: 14%; text-align: right" title="Warrants measurement input">2.52</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Strike price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zTFnRs86Dhhj" style="text-align: right" title="Warrants measurement input">9.13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zRCvyZlMmmjl" style="text-align: right" title="Warrants measurement input">9.13</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zhPuszBpWHDj" title="Warrants measurement input">187.5</span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90B_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zfX1ZfnF5Ckj" title="Warrants measurement input">75.0</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_906_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zEctuVJ1CmXj" title="Warrants measurement input">4.0</span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zr6wf5a4Igmg" title="Warrants measurement input">4.1</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zYMEblibep7i" title="Expected term">3.0</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 id="xdx_903_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20221231_zKpoVOMyV30e" title="Expected term">4.0</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zZGkJqShJuAb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of Other Financial Instruments</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
carrying amounts of certain financial instruments, including cash held in banks, accounts receivable, notes receivable, accounts payable,
accrued liabilities, and other liabilities approximate fair value due to their short-term maturities and are excluded from the fair value
tables above.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<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_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314476689456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p id="xdx_803_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zF7iMDmjjqo2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5 &#8211; <span id="xdx_82D_zbzTrpmBu0Te">Property and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zXYwHEe5RVSc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zywiablLOnG" style="display: none">Schedule
of Property and Equipment</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">Estimated</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Useful Lives in years</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 52%; text-align: left">Lab equipment</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zGxqoLjW4VI3" title="Property and equipment estimated useful lives">3</span> - <span id="xdx_908_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zLNxxFhxOGq1" title="Property and equipment estimated useful lives">5</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUPXOFw2QSwj" style="width: 12%; text-align: right" title="Property and equipment, gross">4,545,908</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zAwUJlF0H237" style="width: 12%; text-align: right" title="Property and equipment, gross">3,574,730</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MinimumMember_zyunsAMj2tXb" title="Property and equipment estimated useful lives">0</span> - <span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MaximumMember_zJ3TYiInCpH3" title="Property and equipment estimated useful lives">5</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9zIE4oehgsf" style="text-align: right" title="Property and equipment, gross">548,648</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zSamhsnpEFpb" style="text-align: right" title="Property and equipment, gross">224,957</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">Office equipment, furniture and other</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zWFcdeJkHZmb" title="Property and equipment estimated useful lives">2</span> - <span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zXfCdGuk8rv9" title="Property and equipment estimated useful lives">5</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zocNuIBg9MKe" style="text-align: right" title="Property and equipment, gross">173,668</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCaOTZg8tjy6" style="text-align: right" title="Property and equipment, gross">112,044</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231_z127ILTGMTQ1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(2,232,495</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231_zQZlDOWvZdU5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(1,372,248</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Fixed assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20231231_ztivCfqqzfui" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">3,035,729</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20221231_zMBAWVaG1Rj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">2,539,483</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A5_zeY4MW8brJV7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475006704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_801_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zosDfEE6yfk3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6 &#8211; <span id="xdx_822_ziiMvMtwROY7">Goodwill and Intangible Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Goodwill</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. The following table presents the changes in the carrying amount of goodwill:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89A_eus-gaap--ScheduleOfGoodwillTextBlock_zMSXnWtUBRL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zakdvgQ6JNq5" style="display: none">Schedule
of Goodwill</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--Goodwill_iS_c20220101__20221231_zLshZkDAeIl3" style="width: 18%; text-align: right" title="Goodwil - beginning">14,706,818</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></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Measurement period adjustments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--GoodwillTranslationAndPurchaseAccountingAdjustments_c20220101__20221231_zzhAOlfUOJ57" style="text-align: right" title="Measurement period adjustments">681,728</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Goodwill impairment charges</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--GoodwillImpairmentLoss_iN_di_c20220101__20221231_zSLVI4bcl0Ha" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill impairment charges">(15,388,546</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--Goodwill_iE_c20220101__20221231_zU11ntw81cp2" style="border-bottom: Black 2.5pt double; text-align: right" title="Goodwill - ending"><span style="-sec-ix-hidden: xdx2ixbrl0977">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zlCQcY3LJRJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company assesses goodwill for impairment at the reporting unit level on an annual basis, or whenever events or changes in circumstances
occur that indicate that the fair value of a reporting unit is below its carrying amount. The Company estimates the fair value of its
reporting unit by using forecasts of discounted future cash flows and peer market multiples. If the fair value is less than the carrying
value, impairment will be recognized in the amount by which the carrying value exceeds the fair value. The Company performed a qualitative
and quantitative goodwill impairment assessment as of December 31, 2022. Based on the impairment assessment performed the Company concluded
that it was more likely than not that the fair value of the Company&#8217;s reporting unit was less than it&#8217;s carrying amount.
Accordingly, the Company recorded an impairment charge to reduce the carrying value of goodwill to $<span id="xdx_90E_eus-gaap--Goodwill_iI_dxL_c20231231_zbSdystRBq6h" title="Goodwill::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0979">0</span></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Intangible
Assets, Net</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zauat8qW06m5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8BC_zXZ3Q5rZhWVh" style="display: none">Schedule of Intangible Assets, Net</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="13" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: center">Weighted-Average</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Gross</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Net</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: center">Useful Life (1)</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Carrying</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">Accumulated</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">Carrying</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(in Years)</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_908_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_dtY_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zLheGfNdHHge" title="Estimated useful lives in years, term">Indefinite</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zVC5LKGpAyDl" style="width: 12%; text-align: right" title="Intangible assets, gross">&#8239;26,101,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_ziLm5n7gDTwe" style="width: 12%; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl0987">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zCx8GwOGFUxk" style="width: 12%; text-align: right" title="Intangible assets, net">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Non-competition agreements</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 1.5pt"><span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zgBVBhGivXYk" title="Estimated useful lives in years">2.7</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zDuuiueC5rR1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross">1,094,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z6jThQ8BXE1b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization">(791,333</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTX2zKfXOjVe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net">302,667</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total intangible assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231_zubGR9UUbvr7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross">27,195,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z91TgwPcDgR3" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization">(791,333</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 id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231_zrw4HFsg7md7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">26,403,667</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="13" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2022</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td style="text-align: center; font-weight: bold">Weighted-Average</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Gross</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Net</td><td style="text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td style="text-align: center; font-weight: bold">Useful Life (1)</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Carrying</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Accumulated</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Carrying</td><td style="text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(in Years)</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Amount</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Amortization</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="text-align: center; width: 14%"><span id="xdx_90A_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zYPXy5TmZx9b" title="Estimated useful lives in years, term">Indefinite</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_z1qa6pcFs49l" style="width: 12%; text-align: right" title="Intangible assets, gross">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zh59srlGc2bf" style="width: 12%; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl1009">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zsMF65ixGlAl" style="width: 12%; text-align: right" title="Intangible assets, net">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Non-competition agreements</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 1.5pt"><span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zzq6H5zPRuq1" title="Estimated useful lives in years">2.7</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z2AsePIY5Urb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross">1,094,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTs8mDjEKGSc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization">(426,667</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z3YcMGRmMUfk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net">667,333</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total intangible assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231_zwo9QbRVJosc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross">27,195,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zfB5TwEuoRb1" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization">(426,667</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 id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231_zxc7lPcwPBej" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">26,768,333</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span id="xdx_F08_zH4BFhvW9ERh" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F14_z4dE0MofHWg6" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on weighted-average
useful life established as of the acquisition date.</span></td>
</tr></table>

<p id="xdx_8AA_zUDDrLZEW3j1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zaE8evcFDARl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
expected future annual amortization expense of the Company&#8217;s intangible assets held as of December 31, 2023 is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zYBcEoGdBpAh" style="display: none">Schedule
of Future Amortization Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Year Ending December 31,</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20231231_zXPLBhQLYTo3" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization Expense</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zhEuoTYjemG6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%; text-align: left; padding-bottom: 1.5pt">2024</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">302,667</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zFaPLziAkOY3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">302,667</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zwVTupyjbpV9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/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_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475006704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued Expenses</a></td>
<td class="text"><p id="xdx_802_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zrHeIEJpoYN6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7 - <span id="xdx_82D_zcEN2OAm9sHg">Accrued Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZ4zZBkEIdya" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8BC_zTi4zaMNbugi" style="display: none">Schedule of Accrued Expenses</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20231231_zPOtjbCLt9d9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20221231_zNbEbBM9JXm2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zECg7VTTj1K2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Payroll liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1,643,186</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">428,354</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zwgCRy2FgH83" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributor commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,958</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">159,725</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zfMF5tuApwZ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Other accrued liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">519,815</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">346,368</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AccruedLiabilitiesCurrent_iTI_mtALCzYz0_zRDUP72pL5z" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total accrued expenses</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,172,959</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">934,447</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p id="xdx_8AD_z5Mk8VYTbNf3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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),20,24)<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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475032640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text"><p id="xdx_804_eus-gaap--RevenueFromContractWithCustomerTextBlock_z7CkjE3SZt6b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8 &#8211; <span id="xdx_824_zcTrMRPEwIM4">Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89A_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zupC7jpXe8h7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth revenue by geographic area:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zzWxNNvPMFJ9" style="display: none">Summary
of Revenue by Geographic Area</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zyi47Nz7UiW9" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20220101__20221231_zdLOvjPqxG8g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--ProductMember_zemyxUwKBni1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: left">Product revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">659,618</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">24,671,554</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--GrantMember_zKqqYV1aE4cb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,820,565</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1058">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US_zO1f3fWGTcrj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Total United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,480,183</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,671,554</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">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--ProductMember_zzLxtCHY9NKa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Product revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">331,855</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,546,655</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--GrantMember_zTvW3CEGY0s8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1066">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1067">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember_z8HAUzRQGQO5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Total Rest of World</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">331,855</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,546,655</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zuTmQDEvzD8e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,812,038</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">34,218,209</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zGggZ7cE2p86" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Revenue geographic area</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">6,812,038</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">34,218,209</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Percentage of revenue by area:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zHTbr3pDetz5" style="text-align: right" title="Percentage of revenue">95</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zrxidxiZeHkl" style="text-align: right" title="Percentage of revenue">72</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJ1d3pz3Un74" style="text-align: right" title="Percentage of revenue">5</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zBEs29JLtPr7" style="text-align: right" title="Percentage of revenue">28</td><td style="text-align: left">%</td></tr>
  </table>

<p id="xdx_8A0_zVIK3c1YCu5a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Deferred
Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zU7KKb8sKMql" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in the Company&#8217;s deferred revenue balance for the year ended December 31, 2023 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zovZkE3c1Fw" style="display: none">Schedule
of Deferred Revenue</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--ContractWithCustomerLiability_iS_c20230101__20231231_zmSoc5Dfuauf" style="text-align: right" title="Deferred revenue, beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1088">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 84%; text-align: left">Increase due to prepayments from customers</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20230101__20231231_zOs8v2Hdimai" style="width: 12%; text-align: right" title="Increase due to prepayments from customers">32,570</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Increase due to grant funding awarded</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--IncreaseDueToPrepaymentsFromGrantsReceived_c20230101__20231231_zcPbvalpdOLk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from grants received">329,879</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;Balance as of December, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--ContractWithCustomerLiability_iE_c20230101__20231231_z1PVvhDdbVgl" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, ending balance">362,449</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A9_zwiLZD7YnlP6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314478793312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_EarningsPerShareTextBlock', window );">Earnings per Share</a></td>
<td class="text"><p id="xdx_804_eus-gaap--EarningsPerShareTextBlock_zrg3c72nRbdi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9 &#8211; <span id="xdx_82D_zLRsSbxjIvA2">Earnings per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zBnAhYFvRwW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B0_zRxOEGhS7lJc" style="display: none">Schedule
of Basis and Diluted Earnings Per Share</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20231231_zkTGrQnmJmI5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20221231_zW3rcj1aiZk6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Numerator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--NetIncomeLoss_zXyfgH1ZGbFi" style="vertical-align: bottom; background-color: White">
    <td style="width: 64%; text-align: left; padding-bottom: 2.5pt">Net loss, as reported</td><td style="width: 2%; 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">(35,332,865</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">)</td><td style="width: 2%; 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">(14,238,249</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--WeightedAverageNumberOfSharesOutstandingBasic_zEKiuQc8iNdf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares, basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,346,599</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">31,479,028</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_ziV2b9dLlmRd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Dilutive effect of stock options, warrants and RSUs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1106">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1107">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z3vBQYDwVA9b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Shares used to compute diluted earnings per share</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">29,346,599</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">31,479,028</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></tr>
  <tr id="xdx_405_eus-gaap--EarningsPerShareBasic_pid_zAz6l3VgZru" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(1.20</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(0.45</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zbSACQdXNU62" style="vertical-align: bottom; background-color: White">
    <td>Diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(1.20</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(0.45</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p id="xdx_8A4_zsbUv8CL689l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
computation of diluted earnings per share for the years ended December 31, 2023 and December 31, 2022 also excludes approximately <span id="xdx_902_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zU1fzCyvEQIi" title="Securities excluded from computation of diluted earnings per share"><span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zwdPyphmTuEk" title="Securities excluded from computation of diluted earnings per share">1.4</span></span>
million shares of common stock and approximately <span id="xdx_908_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zIMzMwTpo5ml" title="Securities excluded from computation of diluted earnings per share"><span id="xdx_90F_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk3qo9d9GVZj" title="Securities excluded from computation of diluted earnings per share">465,000</span></span> warrants to purchase shares of common stock that are contingent upon the achievement
of certain milestones.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
a result of incurring a net loss for the years ended December 31, 2023 and 2022, respectively, <span id="xdx_906_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pid_do_uShares_c20230101__20231231_zUL6jWzXFUD8" title="Securities excluded from computation of diluted earnings per share"><span id="xdx_907_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pid_do_uShares_c20220101__20221231_zyQgWGf3eDYf" title="Securities excluded from computation of diluted earnings per share">no</span></span> potentially dilutive securities are
included in the calculation of diluted earnings per share because such effect would be anti-dilutive. The Company had potentially dilutive
securities as of December 31, 2023, consisting of: (i) <span id="xdx_906_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--RestrictedStockUnitsRSUMember_zozOQVh5Eekf" title="Securities excluded from computation of diluted earnings per share">2,618,362</span> restricted stock units and (ii) <span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--EmployeeStockOptionMember_zc5c2D7Q7Khk" title="Securities excluded from computation of diluted earnings per share">512,112</span> options, and potentially dilutive
securities as of December 31, 2022, consisting of: (i) <span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--RestrictedStockUnitsRSUMember_zkQvPqYwjCwl" title="Securities excluded from computation of diluted earnings per share">1,443,238</span> restricted stock units and (ii) <span id="xdx_90D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--EmployeeStockOptionMember_zXjnYuQuefcg" title="Securities excluded from computation of diluted earnings per share">50,000</span> options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings per share.</p></div>
<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 (c)<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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-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_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314476497488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_zddNEZSoTIYf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10 &#8211; <span id="xdx_821_zA1Er1L9tLPh">Stock-Based Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Incentive Plans</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s board of directors adopted, and shareholders approved, the Co-Diagnostics, Inc. Amended and Restated 2015 Long Term Incentive
Plan (the &#8220;Incentive Plan&#8221;) providing for the issuance of stock-based incentive awards to employees, officers, consultants,
directors and independent contractors. On August 31, 2022 the shareholders approved an increase in the number of awards available for
issuance under the Incentive Plan to an aggregate of <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20220831__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zGpOm8JSGsEc" title="Number of common shares availalble for issuance">12,000,000</span> shares of common stock. The number of awards available for issuance under
the Incentive Plan was <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20231231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zZyqkqWxtwM2" title="Number of common shares availalble for issuance">4,357,937</span> at December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Options</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zuL9fFVIgKtj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes option activity during the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zlcngleeUMH6" style="display: none">Schedule
of Option Activity</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Options</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Outstanding at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231_zfUUbIZb6CZe" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning">1,111,363</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zvn4rcb8NKM8" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">2.12</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231_zqQVU2UJMuwh" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">1.31</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20220101__20221231_zqPPnYJESQd4" style="text-align: right" title="Number of Options Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1152">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zPdmlbpnJWHb" style="text-align: right" title="Weighted Average Exercise Price Granted"><span style="-sec-ix-hidden: xdx2ixbrl1154">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231_zyDPc4jJKU7i" style="text-align: right" title="Weighted Average Fair Value Granted"><span style="-sec-ix-hidden: xdx2ixbrl1156">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20221231_zGOrpNgCdSU9" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1158">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zbkzoEQ07O4i" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl1160">-</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--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20220101__20221231_zAKnE0zwjIvb" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl1162">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20220101__20221231_zjqhxkLjfeDl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1164">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231_z3Eme5Eyqx9c" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1166">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20220101__20221231_zuSITH25j44" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1168">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20221231_zzmeq1JkAWSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised">(70,791</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCystanSzAW8" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised">1.10</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20220101__20221231_zod7otR9f0Bf" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised">0.51</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231_zpmrcp3Wknya" style="text-align: right" title="Number of Options Outstanding, Beginning">1,040,572</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zHqTK3fA9WLf" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">2.19</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_zEHLyj07cx13" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">1.37</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zxDJl2djPTNi" title="Weighted-average Remaining Contractual Life (years) Outstanding, Beginning">5.88</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20230101__20231231_z7jBRtM9qKI1" style="text-align: right" title="Number of Options Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1184">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231_z5JrsANdXSyf" style="text-align: right" title="Weighted Average Exercise Price Granted"><span style="-sec-ix-hidden: xdx2ixbrl1186">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231_z0k4KdxUauCl" style="text-align: right" title="Weighted Average Fair Value Granted"><span style="-sec-ix-hidden: xdx2ixbrl1188">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20231231_zEBykw0yCVV6" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1190">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zzmsaRODlyu3" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl1192">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20230101__20231231_zFXvDXYu5Ip7" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl1194">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230101__20231231_zwBClPZLnujl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1196">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20230101__20231231_zd1Ng1zEiwe7" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1198">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20230101__20231231_zTFUmkXTtr18" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1200">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230101__20231231_zuMbactPfx61" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1202">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zkYPXudxeDm9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1204">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20230101__20231231_zdupCWD85E8i" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1206">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231_zYM2YU3MUxD7" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending">1,040,572</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">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zIDt2NTJUBn7" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending">2.19</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">$</td><td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_ziwQBOBnhHK2" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending">1.37</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"><span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_dtY_c20230101__20231231_zH2CZFgc5bFh" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending">4.89</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230101__20231231_zWxTFnPWLR9a" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending">1,040,572</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">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20230101__20231231_ztiSRsau4fnf" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending">2.19</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">$</td><td id="xdx_988_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20230101__20231231_zGg4yFlGWn5b" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending">1.37</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"><span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_zDZT3VkMjSG3" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending">4.89</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zVxZ0eHsNUU" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total intrinsic value of options exercised during the years ended December 31, 2023 and 2022, respectively, was $<span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_c20230101__20231231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zswDQsbb6x6k" title="Intrinsic value of options value exercised">0</span> and approximately
$<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20220101__20221231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zVF7aAXgt5D8" title="Intrinsic value of options value exercised">0.4</span> million. The aggregate intrinsic value of outstanding options at December 31, 2023 and 2022 was approximately $<span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20231231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zTMCy2Bvy5xb" title="Aggregate intrinsic value of outstanding options">0.2</span> million and $<span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20221231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zLOb8IDHM4fb" title="Aggregate intrinsic value of outstanding options">0.8</span>
million, respectively. As of December 31, 2023, there were no unvested options and no unrecognized stock-based compensation expense related
to options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Restricted
Stock Units</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_894_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zqh50fdtRDh4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#8217;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_znMvlWauzPkb" style="display: none">Schedule
of Outstanding Restricted Stock Units and Related Party</span></span></span></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="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of RSUs</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Average Grant Date Fair Value</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Unvested at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhd76MDGHSnb" style="width: 14%; text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning">1,267,415</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zLTJ6FWkNsja" style="width: 14%; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning">9.94</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcqy0nS3PIU6" style="text-align: right" title="Number of Restricted Stock Units, Granted">1,925,476</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhGsGOt2miVh" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted">5.66</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKLpNaSAY3e7" style="text-align: right" title="Number of Restricted Stock Units, Vested">(725,166</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zT4XLEetUTSg" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">8.66</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zp8kIohbFj32" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled">(41,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXAaNI3RYfy9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled">8.31</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Unvested at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvh3M2dVg7E6" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning">2,426,725</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zC9DruVIeOS5" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning">6.95</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2CU1ssMzSa8" style="text-align: right" title="Number of Restricted Stock Units, Granted">1,948,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHlTRHZzhzof" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted">1.92</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zxmXkor33Gc1" style="text-align: right" title="Number of Restricted Stock Units, Vested">(1,354,081</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z3EKlGRt0cI3" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">6.17</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zDBdSdiacP7b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled">(95,897</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztIe6HJpuF21" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled">6.16</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Unvested at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9SK3v3Suf97" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending">2,925,497</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">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zY7bM55B1Gc3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending">3.99</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zcUf8RHC0Ah6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, there was $<span id="xdx_905_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pn5n6_c20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zIvtFoGByBmh" title="Unrecognized stock-based compensation">9.5</span> million of unrecognized stock-based compensation expense related to outstanding RSUs which is expected
to be recognized over a weighted-average period of <span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkS3s90LAnuj" title="Weighted average period">1.7</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Warrants</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has issued warrants related to financings, acquisitions and as compensation to third parties for services provided. The Company
estimates the fair value of issued warrants on the date of issuance as determined using a Black-Scholes pricing model. The Company amortizes
the fair value of issued warrants using a vesting schedule based on the terms and conditions of each warrant if granted for services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zGm6iFaGPpqf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes warrant activity during the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zcp14VjSddQa" style="display: none">Schedule
of Warrant Activity</span></span></span></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="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Warrants</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted Average Exercise</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Outstanding at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20220101__20221231_zts8Zk16Tuej" style="width: 11%; text-align: right" title="Number of Warrants Outstanding, Beginning">526,281</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zTJi4Xoe47ra" style="width: 11%; text-align: right" title="Weighted Average Exercise Price, Beginning">8.15</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20220101__20221231_zbfgcM7p4c3b" style="width: 11%; text-align: right" title="Weighted Average fair value, Beginning">4.01</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 11%; text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231_zSqLJooZvGxg" title="Weighted-average Remaining Contractual Life (Years) Outstanding">4.7</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Issued for adjustments to contingent purchase consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_c20220101__20221231_zwlGyYXTBMbh" style="text-align: right" title="Number of Warrants Outstanding, Issued">8,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCVjHaZyPha8" style="text-align: right" title="Weighted Average Exercise Price, Issued">9.13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zuN0HNtpr0bi" style="text-align: right" title="Weighted Average Fair Value, Issued">1.88</td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20220101__20221231_zuToqGPFDhKk" style="text-align: right" title="Number of Warrants Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1290">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zg2Vh5gR2B2e" style="text-align: right" title="Weighted Average Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1292">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zc4J1e9iuEe7" style="text-align: right" title="Weighted Average Fair Value, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1294">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20220101__20221231_zur5hyRwHMPi" style="text-align: right" title="Number of Warrants Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1296">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_znOf6WpWCH0b" style="text-align: right" title="Weighted Average Exercise Price, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1298">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zkmI5Punj23k" style="text-align: right" title="Weighted Average Fair Value, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1300">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20220101__20221231_zntU1523wll8" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1302">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zQ8mOH6EoWD" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1304">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_z9sLoh8Gasf4" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1306">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20220101__20221231_zBFMww47hEc7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised">(50,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zajl4XfThVN" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised">2.00</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zV6Mtk1w38e3" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised">1.22</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20230101__20231231_zgXHOXuQKjda" style="text-align: right" title="Number of Warrants Outstanding, Beginning">485,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zZlM3gjskajf" style="text-align: right" title="Weighted Average Exercise Price, Beginning">8.81</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20230101__20231231_zgqbwohPfy2b" style="text-align: right" title="Weighted Average fair value, Beginning">2.43</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_903_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20220101__20221231_z0l309U0q73e" title="Weighted-average Remaining Contractual Life (Years) Outstanding">4.0</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20230101__20231231_zYE7CYTTKCs" style="text-align: right" title="Number of Warrants Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1322">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z09dle1R83N" style="text-align: right" title="Weighted Average Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1324">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z54PFd9khL2c" style="text-align: right" title="Weighted Average Fair Value, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1326">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20230101__20231231_z4hsN4cLXEH3" style="text-align: right" title="Number of Warrants Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1328">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z5pAabUvms8i" style="text-align: right" title="Weighted Average Exercise Price, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1330">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zCwoOsxUmgsd" style="text-align: right" title="Weighted Average Fair Value, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1332">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20230101__20231231_zPUZaojQHJfh" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1334">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z7eCJIoo29h" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1336">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zkxsIC1cMgFd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1338">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20230101__20231231_z4KtW0LAFfHb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1340">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zz8fLqqFJv1g" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1342">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z6cx87XDrqI5" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1344">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20230101__20231231_zcufPtvEXGQ2" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending">485,000</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">$</td><td id="xdx_98D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zrXZ2sMlFMbb" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending">8.81</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">$</td><td id="xdx_989_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231_zEdQaU1OIxId" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending">1.29</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"><span id="xdx_90C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20230101__20231231_zi3KSB7ddt5k" title="Weighted-average Remaining Contractual Life (Years) Outstanding">3.0</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zsT5RqzWIUhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
intrinsic value of warrants exercised during the years ended December 31, 2023 and 2022, respectively, was $<span id="xdx_901_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zL7V1tWcWh1h" title="Intrinsic value of warrants exercised">0</span> and approximately $<span id="xdx_901_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z7DysL26ij1l" title="Intrinsic value of warrants exercised">0.3</span>
million. The aggregate intrinsic value of outstanding warrants at December 31, 2023 was approximately $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmrzBGwUlqf1" title="Aggregate intrinsic value of options outstanding">0</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total number of warrants exercisable at December 31, 2023 is <span id="xdx_909_ecustom--ClassOfWarrantExercisable_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zBSJjAJbzirl" title="Warrants exercisable">20,000</span>. The ability to exercise the approximately <span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231_z4iqe068wFnc" title="Warrants purchase">465,000</span> warrants issued
in connection with acquisitions in prior years is contingent upon the achievement of certain development and revenue milestones on or
before January 1, 2027. There was no unrecognized stock-based compensation expense related to warrants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock-Based
Compensation Expense</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zG1ZO3xHtDAk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognized stock-based compensation expense as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zqqGf0Cvi5Ak" style="display: none">Schedule
of Recognized Stock-based Compensation Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zUyU6PXatIVi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220101__20221231_zVwz74A60Wr7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zsZdlhB6NyQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Cost of sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">46,586</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">63,058</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingAndMarketingExpenseMember_zB8zZJvF8PU7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,153,974</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,866,116</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--GeneralAndAdministrativeExpenseMember_zDaT9YBOZd1e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,933,822</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,050,967</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--ResearchAndDevelopmentExpenseMember_zlSekZuMCO85" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Research and development</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,202,473</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,563,082</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_ze6lQOV68Zvl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total stock-based compensation expense</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">8,336,855</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">7,543,223</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AD_zmRCb7DZKnml" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 718<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> -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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472976240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_801_eus-gaap--IncomeTaxDisclosureTextBlock_zUStweFEGuw" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11 &#8211; <span id="xdx_824_zTHtL1ZUGKZa">Income Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z1fucJCdJeIg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the provision (benefit) for income taxes consists of the following for the years ended December 31, 2023 and
2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zGUo5PTFh062" style="display: none">Schedule
of Components Income Tax Provision</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zAGMBfigON3k" style="border-bottom: Black 1.5pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023
</b></span></td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220101__20221231_zhzqXw1db6ii" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#8239;2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023
</b></span></td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zybAmLA9ssE" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Current:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zhq4Xo6ByWB7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%">Federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">84,435</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">563,821</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zXB9xEMWmp96" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(540,240</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(266,248</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zI4GaPh2vRYc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total current</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(455,805</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">297,573</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zRI4DHI8AHzf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Deferred:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zPcsRrn0OBx9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,228,611</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,945,090</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zGRTr3UemzFh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">State</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,068,509</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(961,468</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--ChangeInValuationAllowance_i01N_di_msDFSALzIK4_zYP5ml5iShba" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">6,975,234</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1407">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_maITEBzvit_mtDFSALzIK4_zyomCHjiWSF2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,321,886</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(4,906,558</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zGMPxeosbt8a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income tax benefit</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,777,691</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">(4,608,985</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p id="xdx_8A2_zExRs7olelmi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zxcxpYpE47p3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zO6sMCjuwaDj" style="display: none">Schedule
of Benefit from Income Taxes and Effective Tax Rates</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20230101__20231231_ztZOtJBM72Rh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231_zwqiPSCSGYjh" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_maITEBzvik_zzNHpzp5iq8j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Federal income tax expense at statutory rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr id="xdx_404_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_maITEBzvik_zmyy9gFPl6G2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State income tax expense, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.8</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zpAP1FakDqz" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Permanent differences:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--EffectiveIncomeTaxRateReconciliationFdiiPercent_i01_dp_uPure_maITEBzvik_zZgGUczgO9M6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Foreign derived intangible income deduction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.4</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01N_dpi_uPure_msITEBzvik_zffnXSrvG5Cb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">- Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-3.5</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-3.6</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_402_ecustom--EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_i01_dp_uPure_maITEBzvik_zklfDefw9R3h" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Contingent consideration remeasurement</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8.8</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_400_ecustom--EffectiveIncomeTaxRateReconciliationGoodwillImpairment_i01_dp_uPure_msITEBzvik_zS63YRrHg9Gg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">- Goodwill impairment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-17.1</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_406_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_msITEBzvik_z8AN4aXJUDs3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Other permanent differences</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-0.2</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-0.6</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_maITEBzvik_zo24qT8qXmr2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11.1</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_408_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_iN_dpi_uPure_maITEBzvik_zut6jHrkWaPd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Change in uncertain tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.2</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-2.1</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_iN_dpi_uPure_msITEBzvik_zKB0zQ4ivcag" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Change in valuation allowance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-18.3</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_maITEBzvik_z4gQRDcEgbxl" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.3</td><td style="padding-bottom: 1.5pt; text-align: left">%</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.8</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_iT_dp_uPure_mtITEBzvik_zG6dCIgu0Gl5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective income tax rate</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">7.3</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">24.5</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

<p id="xdx_8AE_zk7wcU5sSVxd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_896_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zO89HrkwR5tf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
deferred tax liabilities consist of the following components as of December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zLjlQPnK81x7" style="display: none">Schedule
of Deferred Tax Assets and Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zphkmz9IKATf" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20221231_zDhAvm69WjHk" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zyrkMYjgTq77" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax 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_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zcAFGCS7EKpb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">58,158</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">98,141</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_z1VFwT9JaNwl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reserves and allowances</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">734,631</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">765,004</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zKiMkMKh3L93" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">620,551</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">566,076</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--DeferredTaxAssetsCosts_i01I_maDTAGzwm0_zmvgCpdFZSih" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Section 174 costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,337,629</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,460,159</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--DeferredTaxAssetsLeaseLiability_i01I_maDTAGzwm0_zgXqPbQiYqw" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">742,131</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">85,899</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--DeferredTaxAssetsUniformCapitalization_i01I_maDTAGzwm0_zFMHKcPhXC11" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">UNICAP</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,943</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">168,936</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_i01I_maDTAGzwm0_zFltnaBLECla" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Net operating loss carryforwards</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,040,601</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: xdx2ixbrl1480">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_i01I_maDTAGzwm0_z5k9EHYPSkii" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Research and development credits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,688,255</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1483">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_maDTAOzex8_maDTANz2N2_z86vPnRPaNhk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Total gross deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,265,899</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,144,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsValuationAllowance_i01NI_di_msDTANz2N2_zsT9lRuMgstb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(6,938,829</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1489">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxAssetsNet_i01TI_mtDTANz2N2_maDTALNzo3m_zibIiutP85Ve" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,327,070</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,144,215</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zchtSvz00Mo8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax 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_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzTlQ_z0XlaYHQrKNk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(672,416</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(609,261</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzTlQ_zQxlvov5S3Hf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangibles, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,552,255</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,608,914</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzTlQ_zsbmYNBtIL37" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Prepaids</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(329,768</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(156,053</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--DeferredTaxLiabilitiesRightOfUseAsset_i01NI_di_maDITLzTlQ_zHhf1Xg0KWYf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Right of use asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(736,226</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(91,873</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesOtherComprehensiveIncome_i01NI_di_maDITLzTlQ_zfpTpXjKjEse" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Other comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(36,405</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(96,101</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzTlQ_zm104iL3ZuY9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1512">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1513">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_msDTAOzex8_mtDITLzTlQ_msDTALNzo3m_zHNPxPzrBNn9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(8,327,070</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(7,562,202</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredTaxAssetsLiabilitiesNet_i01NTI_di_msDTAOzex8_mtDTALNzo3m_zhCIzb3DHAo7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax liability</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: xdx2ixbrl1518">-</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">(2,417,987</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p id="xdx_8A6_z3nlZBkh68o4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">At
December 31, 2023, the Company had federal net operating loss carryforwards of $<span id="xdx_90B_eus-gaap--OperatingLossCarryforwards_iI_pn5n6_c20231231_zjNabjX1kw4g" title="Net operating loss carry-forwards">16.3</span> million and federal research and development credit
carryforwards of $<span id="xdx_90C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_iI_pn5n6_c20231231_zs2VE6DnZ3Ia" title="Research and development credit carry forwards">1.4</span> million. At December 31, 2023, the Company had state net operating loss carryforwards of $<span id="xdx_90C_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_iI_pn5n6_c20231231_z22YidQyzPkf" title="State net operating loss carryforwards">16.9</span> million and $<span id="xdx_907_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwards_iI_pn5n6_c20231231_zamEApM84vDf" title="State research and development credit carryforwards">0.8</span>
million of state research and development credit carryforwards. If unused, the state research credit carryforward will expire in 2037.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">ASC
Topic 740-10-05 requires that the impact of a tax position be recognized in the financial statements if that position is more likely
than not of being sustained on audit, based on the technical merits of the position. Our unrecognized tax benefit balances included $<span id="xdx_906_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20231231_zYlogxS4pcrj" title="Unrecognized tax benefits that would impact effective tax rate">1,078,431</span>
at December 31, 2023 and $<span id="xdx_90D_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20221231_ztpTSPsyO3sf" title="Unrecognized tax benefits that would impact effective tax rate">1,469,577</span> at December 31, 2022 of tax positions that, if recognized, would impact our effective tax rate. The
Company expects no material changes to the liability for unrecognized tax benefits in the next 12 months. Interest and penalties associated
with uncertain tax positions are recorded as a component of income tax expense. A reconciliation of the beginning and ending amount of
unrecognized benefits is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">&#160;</span></p>

<p id="xdx_896_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_zxL0D0hUgfm3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_z94xsNZDuCDj" style="display: none">Schedule
of Unrecognized Tax Benefits</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Unrecognized tax benefits at the beginning of the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20230101__20231231_zdb7ekkbKvv4" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year">1,469,577</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefits_iS_c20220101__20221231_z0bEfHo7DTvh" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year">1,067,853</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross increases - current year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20230101__20231231_ziFjioiNamth" style="text-align: right" title="Gross increases- current year tax positions">273,569</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20220101__20221231_zJy7yfC8d8T6" style="text-align: right" title="Gross increases- current year tax positions">1,045,590</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">Gross increases - prior year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20230101__20231231_zpCA93p4lOCc" style="text-align: right" title="Gross increases- prior year tax positions">66,127</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20220101__20221231_zbszH0jjCNVj" style="text-align: right" title="Gross increases- prior year tax positions">34,035</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Gross decreases - prior year tax positions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20230101__20231231_zpOSP1vOP26i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions">(730,842</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20220101__20221231_zStbaXY7KNU9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions">(677,901</td><td style="padding-bottom: 1.5pt; 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">Unrecognized tax benefits at end of year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20230101__20231231_z8ToZwoVZqVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">1,078,431</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--UnrecognizedTaxBenefits_iE_c20220101__20221231_zyIeJ6lZ3HC6" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">1,469,577</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; 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">Interest and penalties in year-end balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20230101__20231231_zqAmheii70p6" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance">100,162</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20220101__20221231_ze0CB93QBrS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance">34,035</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AD_zl5aqtWyZRUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is subject to taxation in the United States and other state jurisdictions. The tax years from December 31, 2020 through December
31, 2023 remain open to examination for federal income tax purposes and by the other major taxing jurisdictions to which the Company
is subject. The Company is not currently under examination by any taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475045888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p id="xdx_804_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zJ7M0KreUDnf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
12 &#8211; <span id="xdx_82C_z2r1SbGE2A7l">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Lease
Obligations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company leases administrative, R&amp;D, sales and marketing and manufacturing facilities under non-cancellable operating leases and leases
cancellable with one month notice. The Company expenses the cancelable leases in the period incurred in accordance with the practical
expedient elected. During the year December 31, 2023, the Company amended two operating leases to extend the lease term and entered into
two new operating leases. As a result, the Company recognized additional operating lease liabilities and corresponding operating right-of-use
assets of $<span id="xdx_909_eus-gaap--OperatingLeaseLiability_iI_c20231231__us-gaap--TypeOfArrangementAxis__custom--LeaseAmendmentMember_zM9FhLvg21rj" title="Operating lease liabilities">3,203,146</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89B_eus-gaap--LeaseCostTableTextBlock_z3oEwbNbiydc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the year ended December 31, 2023, components of lease expense are summarized as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zJQLFyzBoWNj" style="display: none">Schedule
of Lease Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_zYmZZ6quuVJg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ended</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31, 2023</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseCost_maLCz2lp_zKp27a95f3Jd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">Operating lease costs</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">813,743</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ShortTermLeaseCost_maLCz2lp_zhFCsRb3Oxyj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Short-term lease costs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">198,261</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LeaseCost_iT_mtLCz2lp_zBSkHO5SgUme" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease costs</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,012,004</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_z2gIVZQ4t6Bd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p id="xdx_891_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ztC73cIxjxT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, the maturities of the Company&#8217;s lease liabilities are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B2_zozi1g7pylXl" style="display: none">Schedule
of Maturities on Company Lease Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zNrFQm09Gkqj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ending</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31,</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz8za_zdd2Ln1JJ3Uj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">996,676</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz8za_zRgaTmUgQgm" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,018,383</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPz8za_ziVVgwtDYM4c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">714,630</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maLOLLPz8za_zgJR8iQWFC4l" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">300,591</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_maLOLLPz8za_zCEePENNGnh6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Thereafter</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">308,462</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz8za_zFPsdrvcBO6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,338,742</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iI_zklZpvMvOMAg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">348,175</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zjlC42Y6eqP2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Present value of operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,990,567</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_ziw2bZVkVHcb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">838,387</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zvCXYXAPKrz4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,152,180</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zXO3U92iatWl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p id="xdx_89C_ecustom--ScheduleOfOperatingLeaseTableTextBlock_zSn9SesXmzPc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
information related to operating leases was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B0_zMwcrWIxhLU2" style="display: none">Schedule
of Other Information Related to Operating Lease</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20231231_z6PZSwsWD1h5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ended</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31, 2023</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeasePayments_zkIi4uqaEhp6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">Cash paid for operating leases included in operating cash flows</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">954,013</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Remaining lease term of operating leases</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmHzsa18Ecaa" title="Remaining lease term of operating leases">3.7</span> years </span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Discount rate of operating leases</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20231231_zm4Zwyhl4bT9" style="text-align: right" title="Discount rate of operating leases">6.2</td><td style="text-align: left">%</td></tr>
  </table>

<p id="xdx_8AD_znHmIu7nyaR7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Litigation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Liabilities
for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable
that a liability has been incurred and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies
are expensed as incurred.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is a defendant in two class action claims and three derivative actions claiming that the Company promulgated false and misleading
press releases to increase the price of our stock to improperly benefit the officers and directors of the Company. The plaintiffs demand
compensatory damages sustained as a result of the Company&#8217;s alleged wrongdoing in an amount to be proven at trial. The Company
is also a party to two civil actions, one in the US and the other in the United Kingdom. Each of the civil actions is based on breach
of contract claims against the Company. The Company believes these lawsuits are without merit and intends to defend the cases vigorously.
The Company is unable to estimate a range of loss, if any, that could result were there to be an adverse final decision in these cases.
As of the date of this report, the Company does not believe it is probable that these cases will result in an unfavorable outcome; however,
if an unfavorable outcome were to occur in these cases, it is possible that the impact could be material to the Company&#8217;s results
of operations in the period(s) in which any such outcome becomes probable and estimable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>36
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314478939104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share Repurchase Program<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Share Repurchase Program</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z5dd6gga9NL8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
13 &#8211; <span id="xdx_829_zFXII1MKLcB8">Share Repurchase Program</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2022, the Company&#8217;s board of directors authorized a share repurchase program that would allow the Company to repurchase up
to $<span id="xdx_909_eus-gaap--StockRepurchaseProgramAuthorizedAmount1_iI_pn5n6_c20220331_zzQproajo8Xc" title="Stock repurchase program authorized amount">30.0</span> million of CODX common stock. The repurchase program does not obligate the Company to acquire any particular number of common
shares, and the repurchase program may be suspended or discontinued at any time at the Company&#8217;s discretion. The timing and amount
of any share repurchases under the share repurchase program will be determined by Co-Diagnostics&#8217; management at its discretion
based on ongoing assessments of the capital needs of the business, the market price of the Company&#8217;s common stock, corporate and
regulatory requirements, and general market conditions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
accounting purposes, common stock repurchased under the stock repurchase program is recorded based upon the transaction date of the applicable
trade. Such repurchased shares are held in treasury and are presented using the cost method. These shares are not retired and are considered
issued but not outstanding. The following table shows the changes in treasury stock for the periods presented:</span></p>

<p id="xdx_897_ecustom--ScheduleOfTreasuryStockTableTextBlock_zv5SP60yESWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zWSnzLoHAf13" style="display: none">Schedule
of Treasury Stock</span></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%">
  <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">Year Ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%">Balance, beginning of period</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--TreasuryStockCommonShares_iS_pid_d0_c20230101__20231231_z1mksBDxzqM7" style="width: 18%; text-align: right" title="Treasury stock, Beginning Balance">3,881,658</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Repurchases of common stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--RepurchasesOfCommonStock_c20230101__20231231_zGoX2iqdpjX8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Repurchases of common stock">967,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Balance, end of period</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--TreasuryStockCommonShares_iE_pid_c20230101__20231231_zthDkbmnOdma" style="border-bottom: Black 2.5pt double; text-align: right" title="Treasury stock, Ending Balance">4,848,678</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AC_zoVh7n41wK17" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314568700000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><p id="xdx_809_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zcRFWQVhV6L8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Note 14 &#8211; <span id="xdx_829_zggX1HhjOkr9">Related Party Transactions</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company employs one person who is related to
current or former executive officers. Seth Egan is the Company&#8217;s Director of Sales and Marketing, and is the son of Dwight
Egan, the Company&#8217;s President and Chief Executive Officer and Chairman of the Board. During the year ended December 31, 2023,
the total compensation paid to this person, including salaries, bonuses, and the grant date fair value of equity awards which vest
over <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--SethEganMember_z7AfbhNzBbOd" title="Share based payment, vesting period">three
years</span>, was $<span id="xdx_90D_ecustom--PaymentToRelatedParty_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--SethEganMember_zUpJY7SSvE32" title="Total compensation paid">0.6</span>
million. The Company also uses the services of Winston Egan as an independent contractor for sales operations consulting.
Winston Egan is also the son of Dwight Egan, the Company&#8217;s President and Chief Executive Officer and Chairman of the Board.
During the year ended December 31, 2023, the total compensation paid to this contractor, comprised of consulting fees, was $<span id="xdx_902_ecustom--PaymentToRelatedParty_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--WinstonEganMember_zfFOjDSO2HMe" title="Fair value of equity awards">0.1</span>
million.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2023, the Company entered into a
services agreement with CoSara, the Company&#8217;s equity method investment, under which CoSara provides certain research and
development consulting and support services. During the year ended December 31, 2023, the Company recognized $<span id="xdx_908_eus-gaap--ResearchAndDevelopmentExpense_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--CoSaraDiagnosticsPvtLtdMember_z0ytD3iqcZZf" title="Research and development expenses">0.2</span> million
of expense related to this agreement.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>38
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314478793312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--SubsequentEventsTextBlock_zUmyzUAgzKRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
15 &#8211; <span id="xdx_825_zovM81G7HKrj">Subsequent Events</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>39
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472598368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription', window );">Reclassifications</a></td>
<td class="text"><p id="xdx_841_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zgfVcYfuqaVe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86B_zZMBHjoqHgu1">Reclassifications</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform with the current year&#8217;s presentation. These reclassifications have no impact
on the previously reported results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zo0xPam83Tq3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_867_zf8QIN6BmfMj">Cash
and Cash Equivalents</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2023 and December
31, 2022. <span style="background-color: white">The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_MarketableSecuritiesPolicy', window );">Marketable Investment Securities</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--MarketableSecuritiesPolicy_zlEPnn4jBAJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_z3qanzkPGLB3">Marketable
Investment Securities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s marketable investment securities are comprised of investments in certificates of deposit and U.S. Treasury bills and
notes. The Company designates investments in debt securities as available-for-sale. Available-for-sale debt securities with original
maturities of three months or less from the date of purchase are classified within cash and cash equivalents. Available-for-sale debt
securities with original maturities longer than three months are available to fund current operations and are classified as marketable
investment securities, within current assets on the consolidated balance sheets. The Company may sell these securities at any time for
use in its current operations or for other purposes, even prior to maturity. Available-for-sale debt securities are reported at fair
value with the related unrealized gains and losses included in accumulated other comprehensive income (loss), a component of stockholders&#8217;
equity, net of tax. Realized gains and losses on the sale of marketable securities are determined using the average cost method on a
first-in, first-out basis and recorded in total other income (expense), net in the consolidated statements of operations and
comprehensive loss.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
available-for-sale debt securities are subject to a periodic impairment review. For investments in an unrealized loss position, the Company
writes down the amortized cost basis of the investment if it is more likely than not that the Company will be required or will intend
to sell the investment before recovery of its amortized cost basis. For investments not likely to be sold before recovery of the amortized
cost basis, the Company determines whether a credit loss exists by considering information about the collectability of the instrument,
current market conditions, and reasonable and supportable forecasts of economic conditions. The Company recognizes an allowance for credit
losses up to the amount of the unrealized loss when appropriate. Allowances for credit losses and write-downs are recognized in total
other income (expense), net, and unrealized losses not related to credit losses are recognized in accumulated other comprehensive income
(loss). There are no allowances for credit losses recorded for the periods presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p id="xdx_841_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zjfI7s38hG05" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zKSsan0x0tQ3">Accounts
Receivable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2023 total accounts receivable was $<span id="xdx_907_eus-gaap--AccountsReceivableGrossCurrent_iI_c20231231_zd5G7Uv4KiLf" title="Accounts receivable">504,264</span> with an allowance for uncollectable
accounts of $<span id="xdx_90E_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20231231_z3WF38LF7oo3" title="Doubtful accounts">200,338</span> resulting in a net amount of $<span id="xdx_90F_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231_zsOBKSr949Yc" title="Accounts receivable, net">303,926</span>. At December 31, 2022 total accounts receivable was $<span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20221231_zg1wQ3qeMxme" title="Accounts receivable">6,552,249</span> with an allowance
for uncollectable accounts of $<span id="xdx_906_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20221231_zo4xqO3OXCoa" title="Doubtful accounts">3,098,526</span> resulting in a net amount of $<span id="xdx_909_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231_zoKjKV2z9B38" title="Accounts receivable, net">3,453,723</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_EquityMethodInvestmentsPolicy', window );">Equity-Method Investments</a></td>
<td class="text"><p id="xdx_840_eus-gaap--EquityMethodInvestmentsPolicy_zjyDSkjQltQl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_zzFO0EyklNR4">Equity-Method
Investments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_843_eus-gaap--InventoryPolicyTextBlock_zSp7OhUdQxgl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zl4ZF9vYbOg">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2023, the Company had $<span id="xdx_90B_eus-gaap--InventoryNet_iI_c20231231_z6PCywmDUDG9" title="Inventory">1,664,725</span> in inventory, of which $<span id="xdx_90A_eus-gaap--InventoryFinishedGoods_iI_c20231231_z94I6ygZzwCk" title="Inventory finished goods">700,467</span> was
finished goods and $<span id="xdx_90E_eus-gaap--InventoryRawMaterials_iI_c20231231_zJMptRxe6gUe" title="Inventory raw materials">964,258</span> was raw materials. At December 31, 2022, the Company had $<span id="xdx_90F_eus-gaap--InventoryNet_iI_c20221231_zVeBGEa9llqk" title="Inventory">5,310,473</span> in inventory, of which $<span id="xdx_900_eus-gaap--InventoryFinishedGoods_iI_c20221231_zjyfGVfOoaka" title="Inventory, finished goods, gross">1,327,264</span> was
finished goods and $<span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20221231_zpzPiWmTUqAf" title="Inventory, raw materials, gross">3,983,209</span> was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values. The Company recognized $<span id="xdx_90C_eus-gaap--InventoryValuationReserves_iI_c20231231_z7HeyO90m1va" title="Inventory reserves">2,760,011</span> and $<span id="xdx_90A_eus-gaap--InventoryValuationReserves_iI_c20221231_zYUie1DzaI72" title="Inventory reserves">0</span> related to the change in inventory reserves during
the years ended December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxLil2YaJv0a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_864_z0gbqRq4dQkl">Goodwill
and Intangible Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. Goodwill and indefinite-lived intangible assets are not amortized, but rather tested for impairment
at least annually on December 31, or more often if and when circumstances indicate that the carrying value may not be recoverable. Finite-lived
intangible assets are amortized over their useful lives.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the years ended December 31, 2023 and 2022, the Company recognized impairment charges related to goodwill of $<span id="xdx_908_eus-gaap--AssetImpairmentCharges_c20230101__20231231_zROHa50m8DUk" title="Impairment charges">0</span> and $<span id="xdx_902_eus-gaap--AssetImpairmentCharges_c20220101__20221231_zFwqQ1qJnSYf" title="Impairment charges">15,388,546</span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p id="xdx_841_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zjBk0XfSy838" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zKBocwNeXqlf">Long-lived
Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-lived
assets, such as property and equipment, are stated at cost less accumulated depreciation and amortization. Depreciation is provided using
the straight-line method over the estimated useful lives of the property, generally from three to five years. Repairs and maintenance
costs are expensed as incurred except when such repairs significantly add to the useful life or productive capacity of the asset, in
which case the repairs are capitalized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
in-process research and development projects acquired in business combinations, the in-process research and development project is capitalized
and evaluated for impairment until the development process has been completed. Once the development process has been completed the asset
will be amortized over its remaining estimated useful life. The Company reviews its long-lived assets, including property and equipment,
indefinite-lived and finite-lived intangible assets, and ROU assets, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_840_eus-gaap--RevenueRecognitionPolicyTextBlock_zkXlqbLi9CK2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zgp2Yuq1aaf8">Revenue
Recognition</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_GrantRevenuePolicyTextBlock', window );">Grant Revenue</a></td>
<td class="text"><p id="xdx_84E_ecustom--GrantRevenuePolicyTextBlock_zyzCUNusPirk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zaUQRDcJojj4">Grant
Revenue</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company may submit applications to receive grant funding from governmental and non-governmental entities. The Company accounts for grants
by analogizing to the contribution accounting model under ASC 958-605, Not-for-Profit Entities (&#8220;ASC 958&#8221;). Revenues from
grants, contracts, and awards provided by governmental and non-governmental agencies are recorded based upon the terms of the specific
agreements. The Company recognizes grant funding without conditions or continuing performance obligations as revenue in the consolidated statements of operations and comprehensive income (loss). The Company recognizes grant funding with conditions or continuing
performance obligations as deferred revenue in the consolidated balance sheets if the conditions or performance obligations
have not yet been met. The Company recognized grant funding revenue of $<span id="xdx_90E_ecustom--GrantFundingRevenue_pn5n6_c20230101__20231231_zUTj38eP6Alh" title="Grant funding revenue">5.8</span> million during the year ended December 31, 2023. At December
31, 2023, the Company has also recorded $<span id="xdx_90B_eus-gaap--DeferredRevenue_iI_pn5n6_c20231231_z6ID4mjPr8Ta" title="Deferred revenue">0.3</span> million of deferred revenue related to grant funding for which the cash was received, but
the underlying conditions or performance obligations have not yet been met. Cash received from federal grants, contracts, and awards
can be subject to audit by the grantor and, if the examination results in a disallowance of any expenditure, repayment could be required.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 );">Deferred Revenue</a></td>
<td class="text"><p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zGBmU9O1qKka" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zHdll12KRuYa">Deferred
Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ResearchAndDevelopmentExpensePolicy', window );">Research and Development</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--ResearchAndDevelopmentExpensePolicy_zGnsfG3qBV8l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_z721q2mfbAs1">Research
and Development</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research
and development costs are expensed when incurred. The Company recorded $<span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20230101__20231231_zkOeMY6IYCF6" title="Research and development">22,962,593</span> and $<span id="xdx_905_eus-gaap--ResearchAndDevelopmentExpense_c20220101__20221231_zq70NmF6GRO1" title="Research and development">17,438,098</span> of research and development costs
for the years ended December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based Compensation</a></td>
<td class="text"><p id="xdx_846_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zO1J66Qw1C81" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zXvi2lFfjxDc">Stock-based
Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#8220;RSUs&#8221;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. <span style="background-color: white">When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_840_eus-gaap--IncomeTaxPolicyTextBlock_zxGKGvd04jLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zEM3A1mvmcL">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. The Company has uncertain income tax positions in the consolidated
financial statements, and adverse determinations by these taxing authorities could have a material adverse effect on the consolidated
financial positions, result of operations, or cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_EarningsPerSharePolicyTextBlock', window );">Net Income (Loss) per Share</a></td>
<td class="text"><p id="xdx_847_eus-gaap--EarningsPerSharePolicyTextBlock_z9fZAoQAf3e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_z9ZrFdVPLDz6">Net
Income (Loss) per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive Income (Loss)</a></td>
<td class="text"><p id="xdx_841_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z0l7LUASb4d9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_zOcL1rhqo8p7">Comprehensive
Income (Loss)</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Comprehensive
loss is comprised of net loss and unrealized gains and losses on marketable securities, net of income taxes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 Risk and Significant Customers</a></td>
<td class="text"><p id="xdx_847_eus-gaap--ConcentrationRiskCreditRisk_z3uady2vZ1H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_860_zpxT2VGITII6">Concentrations
Risk and Significant Customers</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which were each responsible for generating <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zeWhSgluJF3a" title="Concentration risk percentage"><span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zjPJNOTSiCGi" title="Concentration risk percentage">10</span></span>% or more of the total revenue for the years ended December
31, 2023 and 2022, respectively. Two customers accounted for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zvaMjr3yRLV9" title="Concentration risk percentage">28</span>% of product revenue for the year ended December 31, 2023
and one customer accounted for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--OneCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zxx0kXFeHxH7" title="Concentration risk percentage">37</span>% of product revenue for the year ended December 31, 2022. One granting agency accounted
for <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--OneGrantingAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z0UiTEgdSQP8" title="Concentration risk percentage">100</span>% of grant revenue for the year ended December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Three
customers accounted for more than <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z5HhCKDJFR9h" title="Concentration risk percentage"><span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zB4AiwtztUO5" title="Concentration risk percentage">10</span></span>% of accounts receivable at December 31, 2023 and 2022, respectively. These customers together accounted
for approximately <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcVLqDdo9Oll" title="Concentration risk percentage">97</span>% and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zkFZiWlLg7dj" title="Concentration risk percentage">61</span>% of accounts receivable at December 31, 2023 and 2022, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued Accounting Standards</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zrw0s1UYia53" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_869_z8xIJvrsmkqc">Recently
Issued Accounting Standards</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#8217;s financial statements upon adoption.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires an entity
to disclose annually additional information related to the company&#8217;s income tax rate reconciliation and income taxes paid during
the period. The guidance should be applied prospectively with the option to apply the standard retrospectively. The standard becomes
effective for the Company for full year 2025 reporting. The Company is currently evaluating the impact of this new standard on its consolidated
financial statements.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_GrantRevenuePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Grant Revenue [Policy Text Block]</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;">CODX_GrantRevenuePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-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_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive income.</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_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<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 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<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 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="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 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment classified as marketable 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 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-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_MarketableSecuritiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 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_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.</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 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483504/205-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_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="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 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483044/730-10-05-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_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Includes revenue from contract with customer and from other sources.</p></div>
<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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="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><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 (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<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 (f)(2)(v)<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: 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.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: 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.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: 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.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 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 (b)<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 (f)(1)<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 (f)(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_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314568700000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Financial Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [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_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock', window );">Schedule of Cash, Cash Equivalents and Marketable Investment Securities</a></td>
<td class="text"><p id="xdx_894_eus-gaap--ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_zf2SWnhlb8Q2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
following table shows the Company&#8217;s cash, cash equivalents, and marketable investment securities by significant investment category:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BF_zAp7Fx6s2PQb" style="display: none">Schedule
of Cash, Cash Equivalents and Marketable Investment Securities</span></span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="22" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Adjusted Cost</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Allowance for Credit Losses</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Total Unrealized Gains / (Losses)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Fair Value</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Cash and Cash Equivalents</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Marketable Investment Securities</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zyKhFnLoh8sk" style="width: 6%; text-align: right" title="Adjusted Cost">4,317,449</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zhOPuTS7j8Q9" style="width: 6%; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0695">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z1bAV9MsJVW5" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0697">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zFUlnlSVvyHa" style="width: 6%; text-align: right" title="Fair Value">4,317,449</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z6sPNc9ghZF7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents">4,317,449</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z4caqpTOlsdl" style="width: 6%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0703">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Level 1:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: 1.5pt">Money market funds</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQigIxvtBPr2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">10,599,429</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zFvTgr3fpQpi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0707">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zeRx2961HDUe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0709">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2Awplb5xur4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">10,599,429</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPG2uz7qKU2i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">10,599,429</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2CEHX9WVTBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0715">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Subtotal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z8MsH7FJB4F1" style="text-align: right" title="Adjusted Cost">10,599,429</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDCybvPZbKZg" style="text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0719">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zI6kRW8gay8" style="text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zSZeEsZDHRt9" style="text-align: right" title="Fair Value">10,599,429</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_ziVoYlYntZZ5" style="text-align: right" title="Cash and Cash Equivalents">10,599,429</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znhvsDsPJRIa" style="text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0727">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Level 2:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-bottom: 1.5pt">U.S. treasury securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z6wSL9Oi8tDk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">43,484,810</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zY2HPb3OtQVl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0731">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQzPfEJSVL45" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">146,700</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zqMcVj29qUr9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztqBYLr2UM12" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"><span style="-sec-ix-hidden: xdx2ixbrl0737">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zmLxRTTCyjN9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Subtotal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z3wvWUnhWs49" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">43,484,810</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z59Pnf6zvaWi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0743">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z5rLfnUkZxSb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">146,700</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFISYI24g4Ie" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zEixkv8r9Ycd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"><span style="-sec-ix-hidden: xdx2ixbrl0749">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zD9LwMZohJv4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231_zLrJINOTLoOd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost">58,401,688</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231_zGzTF26z7AU6" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0755">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231_zS3j87JMb4m7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)">146,700</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231_zI5OvNMEMvDk" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value">58,548,388</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231_zXitdTzEWve2" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents">14,916,878</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20231231_zSXid3gTMGNg" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">43,631,510</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="22" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Adjusted Cost</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Allowance for Credit Losses</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total Unrealized Gains / (Losses)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Cash and Cash Equivalents</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Marketable Securities</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zI4dCS93maMj" style="width: 6%; text-align: right" title="Adjusted Cost">12,834,444</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zCJAy9G0zf2l" style="width: 6%; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0767">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z2C2ObFuuvl9" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0769">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zNpYN8nn1m5c" style="width: 6%; text-align: right" title="Fair Value">12,834,444</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zii0bK5QlNt7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents">12,834,444</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zvkySZu6vrhf" style="width: 6%; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0775">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Level 1:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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: 1.5pt">Money market funds</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQvVNtk3OBf6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">146,359</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zpvVRyC5wPWd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0779">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDjhCvDQ6SNb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0781">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zh3BtbfHrL53" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">146,359</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znkYPYX3eqFg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">146,359</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zOtfBq5D7oAk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0787">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Subtotal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zj4OchRmM3qf" style="text-align: right" title="Adjusted Cost">146,359</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6rCOpR22yte" style="text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0791">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAvnoSf05ezl" style="text-align: right" title="Total Unrealized Gains / (Losses)"><span style="-sec-ix-hidden: xdx2ixbrl0793">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zEs6ehGfSed1" style="text-align: right" title="Fair Value">146,359</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zZlw9kRnGhnd" style="text-align: right" title="Cash and Cash Equivalents">146,359</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPAygaqEHEe" style="text-align: right" title="Marketable Securities"><span style="-sec-ix-hidden: xdx2ixbrl0799">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Level 2:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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-bottom: 1.5pt">U.S. treasury securities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zyCTeVMBWVAf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">67,892,825</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zl4PJdTkDAqi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0803">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zKVc2ulO4CX7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">389,241</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zPl9Org36pVa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">68,282,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z4SFbt6W5bsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">9,993,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zHID2PIcIz59" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Subtotal</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zb75OImgHOTc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost">67,892,825</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zS5wG8FmjNag" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0815">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztKMSOqkPDSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)">389,241</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zu5MUYAFkV3c" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value">68,282,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFGipkhUkqV4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents">9,993,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zkFsVRNF5g6h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231_z5PC2dk9nySd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost">80,873,628</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231_z17FziJpKEw9" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses"><span style="-sec-ix-hidden: xdx2ixbrl0827">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231_zGmNJIFDJBA" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)">389,241</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--TradingSecurities_iI_c20221231_zdbiCRwmnFul" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value">81,262,869</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231_zOKL2CFWJko" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents">22,973,803</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20221231_zwIKAQCrnwJ8" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities">58,289,066</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash, cash equivalents, and investments.</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_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473073536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Schedule of Fair Value Assets and Liabilities</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zL5U1YlBX0ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and December
31, 2022, by level within the fair value hierarchy:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_z6moWAgDH4Ub" style="display: none">Schedule
of Fair Value Assets and Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAD4Mk0LEej4" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zXbLCtEqcWKi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_493_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zOM5iQdFZQF2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zn4HUiXQCbcg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2023</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zlvxtjm5Fa66" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left">Cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">13,806,864</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0842">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0843">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">13,806,864</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zamJqINEfQoh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Marketable securities (U.S. treasury bills and notes)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0846">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0848">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">43,631,510</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zMRUzmbtZUtc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</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">13,806,864</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">43,631,510</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: xdx2ixbrl0853">-</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">57,438,374</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Liabilities:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zir3FqVmEYq6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0856">-</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: xdx2ixbrl0857">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,318,995</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,318,995</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zrbcMERjNEKi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0861">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">320,780</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">320,780</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zGnyNofwXHDi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</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: xdx2ixbrl0866">-</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: xdx2ixbrl0867">-</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">1,639,775</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">1,639,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zbEAdaHhU5W1" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zcdPKOmcY4H7" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zWGVdzflhLGh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zsWk8KpZjKwl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#8239;Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2022</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 1)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 2)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(Level 3)</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zmi0iEtTmYt" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left">Cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">186,667</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">9,993,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0873">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">10,179,667</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zw3vz65zPQLb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Marketable securities (U.S. treasury bills and notes)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0876">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0878">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">58,289,066</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zAWuhb3z8p0i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</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">186,667</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">68,282,066</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: xdx2ixbrl0883">-</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">68,468,733</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>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><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zg3l98euYy1k" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0886">-</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: xdx2ixbrl0887">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,499,147</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,499,147</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zQvlKUpIZKt3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0891">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0892">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">233,209</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">233,209</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zwLBc57WrGh9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</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: xdx2ixbrl0896">-</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: xdx2ixbrl0897">-</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">2,732,356</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,732,356</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock', window );">Schedule of Changes in the Fair Value Measurement</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zpdn14zW2MP2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes for Level 3 items measured at fair value on a recurring basis are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zsYaPKpwD5v7" style="display: none">Schedule
of Changes in the Fair Value Measurement</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20230101__20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zr5JjQ86pSRk" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_pp0p0_zZ1kSkp0iIfl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 84%">Fair value as of December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,732,356</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_zg2Ux4C9pMl6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in fair value of contingent consideration issued for business acquisitions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,092,581</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_zwkvocA8Y428" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Fair value as of December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,639,775</td><td style="padding-bottom: 2.5pt; 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock', window );">Schedule of Contingent Consideration Common Stock and Warrants</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zkO2Q6OwY5q3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zHGqSjQV5q98" style="display: none">Schedule
of Contingent Consideration Common Stock and Warrants</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zStncyLg47yj" style="width: 14%; text-align: right" title="Warrants measurement input">1.33</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_z0swE95w1H9" style="width: 14%; text-align: right" title="Warrants measurement input">2.52</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Strike price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zTFnRs86Dhhj" style="text-align: right" title="Warrants measurement input">9.13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zRCvyZlMmmjl" style="text-align: right" title="Warrants measurement input">9.13</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zhPuszBpWHDj" title="Warrants measurement input">187.5</span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90B_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zfX1ZfnF5Ckj" title="Warrants measurement input">75.0</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_906_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zEctuVJ1CmXj" title="Warrants measurement input">4.0</span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zr6wf5a4Igmg" title="Warrants measurement input">4.1</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zYMEblibep7i" title="Expected term">3.0</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 id="xdx_903_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20221231_zKpoVOMyV30e" title="Expected term">4.0</span></td><td style="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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.</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 2C<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2C<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_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_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/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_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475012128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</a></td>
<td class="text"><p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zXYwHEe5RVSc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zywiablLOnG" style="display: none">Schedule
of Property and Equipment</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">Estimated</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Useful Lives in years</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 52%; text-align: left">Lab equipment</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zGxqoLjW4VI3" title="Property and equipment estimated useful lives">3</span> - <span id="xdx_908_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zLNxxFhxOGq1" title="Property and equipment estimated useful lives">5</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUPXOFw2QSwj" style="width: 12%; text-align: right" title="Property and equipment, gross">4,545,908</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zAwUJlF0H237" style="width: 12%; text-align: right" title="Property and equipment, gross">3,574,730</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MinimumMember_zyunsAMj2tXb" title="Property and equipment estimated useful lives">0</span> - <span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MaximumMember_zJ3TYiInCpH3" title="Property and equipment estimated useful lives">5</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9zIE4oehgsf" style="text-align: right" title="Property and equipment, gross">548,648</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zSamhsnpEFpb" style="text-align: right" title="Property and equipment, gross">224,957</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">Office equipment, furniture and other</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zWFcdeJkHZmb" title="Property and equipment estimated useful lives">2</span> - <span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zXfCdGuk8rv9" title="Property and equipment estimated useful lives">5</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zocNuIBg9MKe" style="text-align: right" title="Property and equipment, gross">173,668</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCaOTZg8tjy6" style="text-align: right" title="Property and equipment, gross">112,044</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231_z127ILTGMTQ1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(2,232,495</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231_zQZlDOWvZdU5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(1,372,248</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Fixed assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20231231_ztivCfqqzfui" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">3,035,729</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20221231_zMBAWVaG1Rj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">2,539,483</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314478768336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ScheduleOfGoodwillTextBlock_zMSXnWtUBRL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zakdvgQ6JNq5" style="display: none">Schedule
of Goodwill</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%">Balance as of December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--Goodwill_iS_c20220101__20221231_zLshZkDAeIl3" style="width: 18%; text-align: right" title="Goodwil - beginning">14,706,818</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></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Measurement period adjustments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--GoodwillTranslationAndPurchaseAccountingAdjustments_c20220101__20221231_zzhAOlfUOJ57" style="text-align: right" title="Measurement period adjustments">681,728</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Goodwill impairment charges</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--GoodwillImpairmentLoss_iN_di_c20220101__20221231_zSLVI4bcl0Ha" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill impairment charges">(15,388,546</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--Goodwill_iE_c20220101__20221231_zU11ntw81cp2" style="border-bottom: Black 2.5pt double; text-align: right" title="Goodwill - ending"><span style="-sec-ix-hidden: xdx2ixbrl0977">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets, Net</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zauat8qW06m5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8BC_zXZ3Q5rZhWVh" style="display: none">Schedule of Intangible Assets, Net</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="13" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: center">Weighted-Average</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Gross</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Net</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: center">Useful Life (1)</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Carrying</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">Accumulated</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">Carrying</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(in Years)</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_908_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_dtY_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zLheGfNdHHge" title="Estimated useful lives in years, term">Indefinite</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zVC5LKGpAyDl" style="width: 12%; text-align: right" title="Intangible assets, gross">&#8239;26,101,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_ziLm5n7gDTwe" style="width: 12%; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl0987">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zCx8GwOGFUxk" style="width: 12%; text-align: right" title="Intangible assets, net">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Non-competition agreements</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 1.5pt"><span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zgBVBhGivXYk" title="Estimated useful lives in years">2.7</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zDuuiueC5rR1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross">1,094,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z6jThQ8BXE1b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization">(791,333</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTX2zKfXOjVe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net">302,667</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total intangible assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231_zubGR9UUbvr7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross">27,195,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z91TgwPcDgR3" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization">(791,333</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 id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231_zrw4HFsg7md7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">26,403,667</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="13" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">December 31, 2022</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td style="text-align: center; font-weight: bold">Weighted-Average</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Gross</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Net</td><td style="text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td style="text-align: center; font-weight: bold">Useful Life (1)</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Carrying</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="text-align: center; font-weight: bold">Accumulated</td><td style="text-align: center; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Carrying</td><td style="text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">(in Years)</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Amount</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Amortization</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amount</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="text-align: center; width: 14%"><span id="xdx_90A_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zYPXy5TmZx9b" title="Estimated useful lives in years, term">Indefinite</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_z1qa6pcFs49l" style="width: 12%; text-align: right" title="Intangible assets, gross">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zh59srlGc2bf" style="width: 12%; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl1009">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zsMF65ixGlAl" style="width: 12%; text-align: right" title="Intangible assets, net">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Non-competition agreements</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 1.5pt"><span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zzq6H5zPRuq1" title="Estimated useful lives in years">2.7</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z2AsePIY5Urb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross">1,094,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTs8mDjEKGSc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization">(426,667</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z3YcMGRmMUfk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net">667,333</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total intangible assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="text-align: center; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231_zwo9QbRVJosc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross">27,195,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zfB5TwEuoRb1" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization">(426,667</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 id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231_zxc7lPcwPBej" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">26,768,333</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span id="xdx_F08_zH4BFhvW9ERh" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F14_z4dE0MofHWg6" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on weighted-average
useful life established as of the acquisition date.</span></td>
</tr></table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Future Amortization Expense</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zaE8evcFDARl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
expected future annual amortization expense of the Company&#8217;s intangible assets held as of December 31, 2023 is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zYBcEoGdBpAh" style="display: none">Schedule
of Future Amortization Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Year Ending December 31,</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20231231_zXPLBhQLYTo3" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization Expense</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zhEuoTYjemG6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%; text-align: left; padding-bottom: 1.5pt">2024</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">302,667</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zFaPLziAkOY3" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">302,667</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<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 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<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 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<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/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<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/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-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_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475056640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZ4zZBkEIdya" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8BC_zTi4zaMNbugi" style="display: none">Schedule of Accrued Expenses</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20231231_zPOtjbCLt9d9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20221231_zNbEbBM9JXm2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zECg7VTTj1K2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Payroll liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1,643,186</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">428,354</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zwgCRy2FgH83" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributor commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,958</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">159,725</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zfMF5tuApwZ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Other accrued liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">519,815</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">346,368</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AccruedLiabilitiesCurrent_iTI_mtALCzYz0_zRDUP72pL5z" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total accrued expenses</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,172,959</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">934,447</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued 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_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475712640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Summary of Revenue by Geographic Area</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zupC7jpXe8h7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth revenue by geographic area:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_zzWxNNvPMFJ9" style="display: none">Summary
of Revenue by Geographic Area</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zyi47Nz7UiW9" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20220101__20221231_zdLOvjPqxG8g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--ProductMember_zemyxUwKBni1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: left">Product revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">659,618</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">24,671,554</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--GrantMember_zKqqYV1aE4cb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,820,565</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1058">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US_zO1f3fWGTcrj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Total United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,480,183</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,671,554</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">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--ProductMember_zzLxtCHY9NKa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Product revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">331,855</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,546,655</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--GrantMember_zTvW3CEGY0s8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Grant revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1066">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1067">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember_z8HAUzRQGQO5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Total Rest of World</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">331,855</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,546,655</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zuTmQDEvzD8e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,812,038</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">34,218,209</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zGggZ7cE2p86" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Revenue geographic area</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">6,812,038</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">34,218,209</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Percentage of revenue by area:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zHTbr3pDetz5" style="text-align: right" title="Percentage of revenue">95</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zrxidxiZeHkl" style="text-align: right" title="Percentage of revenue">72</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJ1d3pz3Un74" style="text-align: right" title="Percentage of revenue">5</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zBEs29JLtPr7" style="text-align: right" title="Percentage of revenue">28</td><td style="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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Deferred Revenue</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zU7KKb8sKMql" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in the Company&#8217;s deferred revenue balance for the year ended December 31, 2023 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zovZkE3c1Fw" style="display: none">Schedule
of Deferred Revenue</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance as of December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--ContractWithCustomerLiability_iS_c20230101__20231231_zmSoc5Dfuauf" style="text-align: right" title="Deferred revenue, beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1088">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 84%; text-align: left">Increase due to prepayments from customers</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20230101__20231231_zOs8v2Hdimai" style="width: 12%; text-align: right" title="Increase due to prepayments from customers">32,570</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Increase due to grant funding awarded</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--IncreaseDueToPrepaymentsFromGrantsReceived_c20230101__20231231_zcPbvalpdOLk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from grants received">329,879</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;Balance as of December, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--ContractWithCustomerLiability_iE_c20230101__20231231_z1PVvhDdbVgl" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, ending balance">362,449</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="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 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-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_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</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 280<br> -SubTopic 10<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 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.1)<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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475068848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Basis and Diluted Earnings Per Share</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zBnAhYFvRwW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B0_zRxOEGhS7lJc" style="display: none">Schedule
of Basis and Diluted Earnings Per Share</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20231231_zkTGrQnmJmI5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20220101__20221231_zW3rcj1aiZk6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Numerator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--NetIncomeLoss_zXyfgH1ZGbFi" style="vertical-align: bottom; background-color: White">
    <td style="width: 64%; text-align: left; padding-bottom: 2.5pt">Net loss, as reported</td><td style="width: 2%; 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">(35,332,865</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">)</td><td style="width: 2%; 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">(14,238,249</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--WeightedAverageNumberOfSharesOutstandingBasic_zEKiuQc8iNdf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares, basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,346,599</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">31,479,028</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_ziV2b9dLlmRd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Dilutive effect of stock options, warrants and RSUs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1106">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1107">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z3vBQYDwVA9b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Shares used to compute diluted earnings per share</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">29,346,599</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">31,479,028</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></tr>
  <tr id="xdx_405_eus-gaap--EarningsPerShareBasic_pid_zAz6l3VgZru" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(1.20</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(0.45</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zbSACQdXNU62" style="vertical-align: bottom; background-color: White">
    <td>Diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(1.20</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(0.45</td><td style="text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314479745408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Option Activity</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zuL9fFVIgKtj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes option activity during the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_zlcngleeUMH6" style="display: none">Schedule
of Option Activity</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Options</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Outstanding at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231_zfUUbIZb6CZe" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning">1,111,363</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zvn4rcb8NKM8" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">2.12</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231_zqQVU2UJMuwh" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">1.31</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20220101__20221231_zqPPnYJESQd4" style="text-align: right" title="Number of Options Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1152">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zPdmlbpnJWHb" style="text-align: right" title="Weighted Average Exercise Price Granted"><span style="-sec-ix-hidden: xdx2ixbrl1154">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231_zyDPc4jJKU7i" style="text-align: right" title="Weighted Average Fair Value Granted"><span style="-sec-ix-hidden: xdx2ixbrl1156">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20221231_zGOrpNgCdSU9" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1158">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zbkzoEQ07O4i" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl1160">-</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--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20220101__20221231_zAKnE0zwjIvb" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl1162">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20220101__20221231_zjqhxkLjfeDl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1164">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231_z3Eme5Eyqx9c" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1166">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20220101__20221231_zuSITH25j44" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1168">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20221231_zzmeq1JkAWSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised">(70,791</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCystanSzAW8" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised">1.10</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20220101__20221231_zod7otR9f0Bf" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised">0.51</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231_zpmrcp3Wknya" style="text-align: right" title="Number of Options Outstanding, Beginning">1,040,572</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zHqTK3fA9WLf" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">2.19</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_zEHLyj07cx13" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">1.37</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zxDJl2djPTNi" title="Weighted-average Remaining Contractual Life (years) Outstanding, Beginning">5.88</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20230101__20231231_z7jBRtM9qKI1" style="text-align: right" title="Number of Options Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1184">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231_z5JrsANdXSyf" style="text-align: right" title="Weighted Average Exercise Price Granted"><span style="-sec-ix-hidden: xdx2ixbrl1186">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231_z0k4KdxUauCl" style="text-align: right" title="Weighted Average Fair Value Granted"><span style="-sec-ix-hidden: xdx2ixbrl1188">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20231231_zEBykw0yCVV6" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1190">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zzmsaRODlyu3" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl1192">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20230101__20231231_zFXvDXYu5Ip7" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl1194">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230101__20231231_zwBClPZLnujl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1196">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20230101__20231231_zd1Ng1zEiwe7" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1198">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20230101__20231231_zTFUmkXTtr18" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1200">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230101__20231231_zuMbactPfx61" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1202">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zkYPXudxeDm9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1204">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20230101__20231231_zdupCWD85E8i" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1206">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231_zYM2YU3MUxD7" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending">1,040,572</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">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zIDt2NTJUBn7" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending">2.19</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">$</td><td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_ziwQBOBnhHK2" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending">1.37</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"><span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_dtY_c20230101__20231231_zH2CZFgc5bFh" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending">4.89</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230101__20231231_zWxTFnPWLR9a" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending">1,040,572</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">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20230101__20231231_ztiSRsau4fnf" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending">2.19</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">$</td><td id="xdx_988_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20230101__20231231_zGg4yFlGWn5b" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending">1.37</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"><span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_zDZT3VkMjSG3" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending">4.89</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of Outstanding Restricted Stock Units and Related Party</a></td>
<td class="text"><p id="xdx_894_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zqh50fdtRDh4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#8217;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_znMvlWauzPkb" style="display: none">Schedule
of Outstanding Restricted Stock Units and Related Party</span></span></span></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="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of RSUs</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Average Grant Date Fair Value</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Unvested at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhd76MDGHSnb" style="width: 14%; text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning">1,267,415</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zLTJ6FWkNsja" style="width: 14%; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning">9.94</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcqy0nS3PIU6" style="text-align: right" title="Number of Restricted Stock Units, Granted">1,925,476</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhGsGOt2miVh" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted">5.66</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKLpNaSAY3e7" style="text-align: right" title="Number of Restricted Stock Units, Vested">(725,166</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zT4XLEetUTSg" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">8.66</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zp8kIohbFj32" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled">(41,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXAaNI3RYfy9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled">8.31</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Unvested at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvh3M2dVg7E6" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning">2,426,725</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zC9DruVIeOS5" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning">6.95</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2CU1ssMzSa8" style="text-align: right" title="Number of Restricted Stock Units, Granted">1,948,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHlTRHZzhzof" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted">1.92</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zxmXkor33Gc1" style="text-align: right" title="Number of Restricted Stock Units, Vested">(1,354,081</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z3EKlGRt0cI3" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">6.17</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zDBdSdiacP7b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled">(95,897</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztIe6HJpuF21" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled">6.16</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Unvested at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9SK3v3Suf97" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending">2,925,497</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">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zY7bM55B1Gc3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending">3.99</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of Warrant Activity</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zGm6iFaGPpqf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes warrant activity during the years ended December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zcp14VjSddQa" style="display: none">Schedule
of Warrant Activity</span></span></span></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="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Warrants</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted Average Exercise</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Outstanding at December 31, 2021</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20220101__20221231_zts8Zk16Tuej" style="width: 11%; text-align: right" title="Number of Warrants Outstanding, Beginning">526,281</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zTJi4Xoe47ra" style="width: 11%; text-align: right" title="Weighted Average Exercise Price, Beginning">8.15</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20220101__20221231_zbfgcM7p4c3b" style="width: 11%; text-align: right" title="Weighted Average fair value, Beginning">4.01</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 11%; text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231_zSqLJooZvGxg" title="Weighted-average Remaining Contractual Life (Years) Outstanding">4.7</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Issued for adjustments to contingent purchase consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_c20220101__20221231_zwlGyYXTBMbh" style="text-align: right" title="Number of Warrants Outstanding, Issued">8,719</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCVjHaZyPha8" style="text-align: right" title="Weighted Average Exercise Price, Issued">9.13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zuN0HNtpr0bi" style="text-align: right" title="Weighted Average Fair Value, Issued">1.88</td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20220101__20221231_zuToqGPFDhKk" style="text-align: right" title="Number of Warrants Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1290">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zg2Vh5gR2B2e" style="text-align: right" title="Weighted Average Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1292">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zc4J1e9iuEe7" style="text-align: right" title="Weighted Average Fair Value, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1294">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20220101__20221231_zur5hyRwHMPi" style="text-align: right" title="Number of Warrants Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1296">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_znOf6WpWCH0b" style="text-align: right" title="Weighted Average Exercise Price, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1298">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zkmI5Punj23k" style="text-align: right" title="Weighted Average Fair Value, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1300">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20220101__20221231_zntU1523wll8" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1302">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zQ8mOH6EoWD" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1304">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_z9sLoh8Gasf4" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1306">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20220101__20221231_zBFMww47hEc7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised">(50,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zajl4XfThVN" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised">2.00</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zV6Mtk1w38e3" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised">1.22</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20230101__20231231_zgXHOXuQKjda" style="text-align: right" title="Number of Warrants Outstanding, Beginning">485,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zZlM3gjskajf" style="text-align: right" title="Weighted Average Exercise Price, Beginning">8.81</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20230101__20231231_zgqbwohPfy2b" style="text-align: right" title="Weighted Average fair value, Beginning">2.43</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_903_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20220101__20221231_z0l309U0q73e" title="Weighted-average Remaining Contractual Life (Years) Outstanding">4.0</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20230101__20231231_zYE7CYTTKCs" style="text-align: right" title="Number of Warrants Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1322">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z09dle1R83N" style="text-align: right" title="Weighted Average Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1324">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z54PFd9khL2c" style="text-align: right" title="Weighted Average Fair Value, Granted"><span style="-sec-ix-hidden: xdx2ixbrl1326">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt">Expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20230101__20231231_z4hsN4cLXEH3" style="text-align: right" title="Number of Warrants Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1328">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z5pAabUvms8i" style="text-align: right" title="Weighted Average Exercise Price, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1330">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zCwoOsxUmgsd" style="text-align: right" title="Weighted Average Fair Value, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1332">-</span></td><td style="text-align: left">&#160;</td><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-left: 10pt">Forfeited/Cancelled</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20230101__20231231_zPUZaojQHJfh" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1334">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z7eCJIoo29h" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1336">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zkxsIC1cMgFd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1338">-</span></td><td style="text-align: left">&#160;</td><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="padding-left: 10pt; padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20230101__20231231_z4KtW0LAFfHb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1340">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zz8fLqqFJv1g" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1342">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z6cx87XDrqI5" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1344">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20230101__20231231_zcufPtvEXGQ2" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending">485,000</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">$</td><td id="xdx_98D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zrXZ2sMlFMbb" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending">8.81</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">$</td><td id="xdx_989_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231_zEdQaU1OIxId" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending">1.29</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"><span id="xdx_90C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20230101__20231231_zi3KSB7ddt5k" title="Weighted-average Remaining Contractual Life (Years) Outstanding">3.0</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock', window );">Schedule of Recognized Stock-based Compensation Expense</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zG1ZO3xHtDAk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognized stock-based compensation expense as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zqqGf0Cvi5Ak" style="display: none">Schedule
of Recognized Stock-based Compensation Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zUyU6PXatIVi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20220101__20221231_zVwz74A60Wr7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zsZdlhB6NyQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Cost of sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">46,586</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">63,058</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingAndMarketingExpenseMember_zB8zZJvF8PU7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,153,974</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,866,116</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--GeneralAndAdministrativeExpenseMember_zDaT9YBOZd1e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,933,822</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,050,967</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--ResearchAndDevelopmentExpenseMember_zlSekZuMCO85" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Research and development</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,202,473</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,563,082</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_ze6lQOV68Zvl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total stock-based compensation expense</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">8,336,855</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">7,543,223</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, 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)(2)<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_ScheduleOfShareBasedCompensationActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>48
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314471590704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components Income Tax Provision</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z1fucJCdJeIg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the provision (benefit) for income taxes consists of the following for the years ended December 31, 2023 and
2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zGUo5PTFh062" style="display: none">Schedule
of Components Income Tax Provision</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zAGMBfigON3k" style="border-bottom: Black 1.5pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023
</b></span></td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220101__20221231_zhzqXw1db6ii" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#8239;2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023
</b></span></td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zybAmLA9ssE" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Current:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zhq4Xo6ByWB7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%">Federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">84,435</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">563,821</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zXB9xEMWmp96" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(540,240</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(266,248</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zI4GaPh2vRYc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total current</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(455,805</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">297,573</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zRI4DHI8AHzf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Deferred:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zPcsRrn0OBx9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,228,611</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,945,090</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zGRTr3UemzFh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">State</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,068,509</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(961,468</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--ChangeInValuationAllowance_i01N_di_msDFSALzIK4_zYP5ml5iShba" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Change in valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">6,975,234</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1407">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_maITEBzvit_mtDFSALzIK4_zyomCHjiWSF2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,321,886</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(4,906,558</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zGMPxeosbt8a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income tax benefit</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,777,691</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">(4,608,985</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Benefit from Income Taxes and Effective Tax Rates</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zxcxpYpE47p3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zO6sMCjuwaDj" style="display: none">Schedule
of Benefit from Income Taxes and Effective Tax Rates</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20230101__20231231_ztZOtJBM72Rh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231_zwqiPSCSGYjh" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_maITEBzvik_zzNHpzp5iq8j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Federal income tax expense at statutory rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr id="xdx_404_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_maITEBzvik_zmyy9gFPl6G2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State income tax expense, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.8</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zpAP1FakDqz" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Permanent differences:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><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--EffectiveIncomeTaxRateReconciliationFdiiPercent_i01_dp_uPure_maITEBzvik_zZgGUczgO9M6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Foreign derived intangible income deduction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.4</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01N_dpi_uPure_msITEBzvik_zffnXSrvG5Cb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">- Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-3.5</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-3.6</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_402_ecustom--EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_i01_dp_uPure_maITEBzvik_zklfDefw9R3h" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Contingent consideration remeasurement</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8.8</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_400_ecustom--EffectiveIncomeTaxRateReconciliationGoodwillImpairment_i01_dp_uPure_msITEBzvik_zS63YRrHg9Gg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">- Goodwill impairment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-17.1</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_406_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_msITEBzvik_z8AN4aXJUDs3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">- Other permanent differences</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-0.2</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-0.6</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_maITEBzvik_zo24qT8qXmr2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.6</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11.1</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_408_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_iN_dpi_uPure_maITEBzvik_zut6jHrkWaPd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Change in uncertain tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.2</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-2.1</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_iN_dpi_uPure_msITEBzvik_zKB0zQ4ivcag" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Change in valuation allowance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-18.3</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">%</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_maITEBzvik_z4gQRDcEgbxl" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.3</td><td style="padding-bottom: 1.5pt; text-align: left">%</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">0.8</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_iT_dp_uPure_mtITEBzvik_zG6dCIgu0Gl5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective income tax rate</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">7.3</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">24.5</td><td style="padding-bottom: 2.5pt; text-align: left">%</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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zO89HrkwR5tf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
deferred tax liabilities consist of the following components as of December 31, 2023 and 2022:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zLjlQPnK81x7" style="display: none">Schedule
of Deferred Tax Assets and Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zphkmz9IKATf" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20221231_zDhAvm69WjHk" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zyrkMYjgTq77" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax 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_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zcAFGCS7EKpb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 68%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">58,158</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">98,141</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_z1VFwT9JaNwl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reserves and allowances</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">734,631</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">765,004</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zKiMkMKh3L93" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">620,551</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">566,076</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--DeferredTaxAssetsCosts_i01I_maDTAGzwm0_zmvgCpdFZSih" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Section 174 costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,337,629</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,460,159</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--DeferredTaxAssetsLeaseLiability_i01I_maDTAGzwm0_zgXqPbQiYqw" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">742,131</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">85,899</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--DeferredTaxAssetsUniformCapitalization_i01I_maDTAGzwm0_zFMHKcPhXC11" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">UNICAP</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,943</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">168,936</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_i01I_maDTAGzwm0_zFltnaBLECla" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Net operating loss carryforwards</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,040,601</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: xdx2ixbrl1480">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_i01I_maDTAGzwm0_z5k9EHYPSkii" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Research and development credits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,688,255</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1483">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_maDTAOzex8_maDTANz2N2_z86vPnRPaNhk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Total gross deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,265,899</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,144,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsValuationAllowance_i01NI_di_msDTANz2N2_zsT9lRuMgstb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(6,938,829</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1489">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxAssetsNet_i01TI_mtDTANz2N2_maDTALNzo3m_zibIiutP85Ve" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,327,070</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">5,144,215</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zchtSvz00Mo8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax 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_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzTlQ_z0XlaYHQrKNk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(672,416</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(609,261</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzTlQ_zQxlvov5S3Hf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangibles, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,552,255</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,608,914</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzTlQ_zsbmYNBtIL37" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Prepaids</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(329,768</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(156,053</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_ecustom--DeferredTaxLiabilitiesRightOfUseAsset_i01NI_di_maDITLzTlQ_zHhf1Xg0KWYf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Right of use asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(736,226</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(91,873</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesOtherComprehensiveIncome_i01NI_di_maDITLzTlQ_zfpTpXjKjEse" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Other comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(36,405</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(96,101</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzTlQ_zm104iL3ZuY9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1512">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1513">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_msDTAOzex8_mtDITLzTlQ_msDTALNzo3m_zHNPxPzrBNn9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(8,327,070</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(7,562,202</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredTaxAssetsLiabilitiesNet_i01NTI_di_msDTAOzex8_mtDTALNzo3m_zhCIzb3DHAo7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax liability</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: xdx2ixbrl1518">-</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">(2,417,987</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_zxL0D0hUgfm3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_z94xsNZDuCDj" style="display: none">Schedule
of Unrecognized Tax Benefits</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 68%; text-align: left">Unrecognized tax benefits at the beginning of the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20230101__20231231_zdb7ekkbKvv4" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year">1,469,577</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefits_iS_c20220101__20221231_z0bEfHo7DTvh" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year">1,067,853</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross increases - current year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20230101__20231231_ziFjioiNamth" style="text-align: right" title="Gross increases- current year tax positions">273,569</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20220101__20221231_zJy7yfC8d8T6" style="text-align: right" title="Gross increases- current year tax positions">1,045,590</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">Gross increases - prior year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20230101__20231231_zpCA93p4lOCc" style="text-align: right" title="Gross increases- prior year tax positions">66,127</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20220101__20221231_zbszH0jjCNVj" style="text-align: right" title="Gross increases- prior year tax positions">34,035</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Gross decreases - prior year tax positions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20230101__20231231_zpOSP1vOP26i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions">(730,842</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20220101__20221231_zStbaXY7KNU9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions">(677,901</td><td style="padding-bottom: 1.5pt; 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">Unrecognized tax benefits at end of year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20230101__20231231_z8ToZwoVZqVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">1,078,431</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--UnrecognizedTaxBenefits_iE_c20220101__20221231_zyIeJ6lZ3HC6" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">1,469,577</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; 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">Interest and penalties in year-end balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20230101__20231231_zqAmheii70p6" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance">100,162</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20220101__20221231_ze0CB93QBrS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance">34,035</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474725200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of Lease Expense</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--LeaseCostTableTextBlock_z3oEwbNbiydc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the year ended December 31, 2023, components of lease expense are summarized as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B5_zJQLFyzBoWNj" style="display: none">Schedule
of Lease Expense</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_zYmZZ6quuVJg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ended</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31, 2023</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseCost_maLCz2lp_zKp27a95f3Jd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">Operating lease costs</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">813,743</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ShortTermLeaseCost_maLCz2lp_zhFCsRb3Oxyj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Short-term lease costs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">198,261</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LeaseCost_iT_mtLCz2lp_zBSkHO5SgUme" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total lease costs</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,012,004</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Maturities on Company Lease Liabilities</a></td>
<td class="text"><p id="xdx_891_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ztC73cIxjxT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023, the maturities of the Company&#8217;s lease liabilities are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B2_zozi1g7pylXl" style="display: none">Schedule
of Maturities on Company Lease Liabilities</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zNrFQm09Gkqj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ending</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31,</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz8za_zdd2Ln1JJ3Uj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">996,676</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz8za_zRgaTmUgQgm" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,018,383</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPz8za_ziVVgwtDYM4c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">714,630</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maLOLLPz8za_zgJR8iQWFC4l" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">300,591</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_maLOLLPz8za_zCEePENNGnh6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Thereafter</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">308,462</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz8za_zFPsdrvcBO6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,338,742</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iI_zklZpvMvOMAg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: imputed interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">348,175</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zjlC42Y6eqP2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Present value of operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,990,567</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_ziw2bZVkVHcb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">838,387</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zvCXYXAPKrz4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term portion</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,152,180</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_ScheduleOfOperatingLeaseTableTextBlock', window );">Schedule of Other Information Related to Operating Lease</a></td>
<td class="text"><p id="xdx_89C_ecustom--ScheduleOfOperatingLeaseTableTextBlock_zSn9SesXmzPc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
information related to operating leases was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B0_zMwcrWIxhLU2" style="display: none">Schedule
of Other Information Related to Operating Lease</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20231231_z6PZSwsWD1h5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Year Ended</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">December 31, 2023</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeasePayments_zkIi4uqaEhp6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%; text-align: left">Cash paid for operating leases included in operating cash flows</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">954,013</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Remaining lease term of operating leases</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmHzsa18Ecaa" title="Remaining lease term of operating leases">3.7</span> years </span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Discount rate of operating leases</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20231231_zm4Zwyhl4bT9" style="text-align: right" title="Discount rate of operating leases">6.2</td><td style="text-align: left">%</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_CODX_ScheduleOfOperatingLeaseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Operating Lease [Table Text Block]</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;">CODX_ScheduleOfOperatingLeaseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</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 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_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_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>50
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475017920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share Repurchase Program (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_CODX_ScheduleOfTreasuryStockTableTextBlock', window );">Schedule of Treasury Stock</a></td>
<td class="text"><p id="xdx_897_ecustom--ScheduleOfTreasuryStockTableTextBlock_zv5SP60yESWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zWSnzLoHAf13" style="display: none">Schedule
of Treasury Stock</span></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%">
  <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">Year Ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 78%">Balance, beginning of period</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--TreasuryStockCommonShares_iS_pid_d0_c20230101__20231231_z1mksBDxzqM7" style="width: 18%; text-align: right" title="Treasury stock, Beginning Balance">3,881,658</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Repurchases of common stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--RepurchasesOfCommonStock_c20230101__20231231_zGoX2iqdpjX8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Repurchases of common stock">967,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Balance, end of period</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--TreasuryStockCommonShares_iE_pid_c20230101__20231231_zthDkbmnOdma" style="border-bottom: Black 2.5pt double; text-align: right" title="Treasury stock, Ending Balance">4,848,678</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_CODX_ScheduleOfTreasuryStockTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Treasury Stock [Table Text Block]</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;">CODX_ScheduleOfTreasuryStockTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_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>51
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473034144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 504,264<span></span>
</td>
<td class="nump">$ 6,552,249<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Doubtful accounts</a></td>
<td class="nump">200,338<span></span>
</td>
<td class="nump">3,098,526<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Accounts receivable, net</a></td>
<td class="nump">303,926<span></span>
</td>
<td class="nump">3,453,723<span></span>
</td>
</tr>
<tr class="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 );">Inventory</a></td>
<td class="nump">1,664,725<span></span>
</td>
<td class="nump">5,310,473<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Inventory, finished goods, gross</a></td>
<td class="nump">700,467<span></span>
</td>
<td class="nump">1,327,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Inventory, raw materials, gross</a></td>
<td class="nump">964,258<span></span>
</td>
<td class="nump">3,983,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Inventory reserves</a></td>
<td class="nump">2,760,011<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_AssetImpairmentCharges', window );">Impairment charges</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">15,388,546<span></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_CODX_GrantFundingRevenue', window );">Grant funding revenue</a></td>
<td class="nump">5,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">300,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_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">$ 22,962,593<span></span>
</td>
<td class="nump">$ 17,438,098<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=CODX_CustomersMember', window );">Customers [Member] | Customer Concentration Risk [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=CODX_TwoCustomersMember', window );">Two Customers [Member] | Customer Concentration Risk [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=CODX_TwoCustomersMember', window );">Two Customers [Member] | Customer Concentration Risk [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">28.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=CODX_OneCustomerMember', window );">One Customer [Member] | Customer Concentration Risk [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37.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=CODX_OneGrantingAgencyMember', window );">One Granting Agency [Member] | Customer Concentration Risk [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">100.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=CODX_CustomersTogetherMember', window );">Customers Together [Member] | Customer Concentration Risk [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">97.00%<span></span>
</td>
<td class="nump">61.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_GrantFundingRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Grant Funding Revenue.</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;">CODX_GrantFundingRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 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 (c)<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 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 4: 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_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and 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> -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 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-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_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and 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/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(26)(c))<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_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold 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/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(6)(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_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials 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/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(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation reserve for inventory.</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(6))<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 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_srt_MajorCustomersAxis=CODX_CustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_CustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=CODX_TwoCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_TwoCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_srt_MajorCustomersAxis=CODX_OneCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_OneCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=CODX_OneGrantingAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_OneGrantingAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=CODX_CustomersTogetherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_CustomersTogetherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>52
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314468387104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost', window );">Adjusted Cost</a></td>
<td class="nump">$ 58,401,688<span></span>
</td>
<td class="nump">$ 80,873,628<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Allowance for Credit Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Total Unrealized Gains / (Losses)</a></td>
<td class="nump">146,700<span></span>
</td>
<td class="nump">389,241<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradingSecurities', window );">Fair Value</a></td>
<td class="nump">58,548,388<span></span>
</td>
<td class="nump">81,262,869<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="nump">14,916,878<span></span>
</td>
<td class="nump">22,973,803<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable Securities</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">58,289,066<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Fair Value, Inputs, Level 1 [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost', window );">Adjusted Cost</a></td>
<td class="nump">10,599,429<span></span>
</td>
<td class="nump">146,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Allowance for Credit Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Total Unrealized Gains / (Losses)</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_TradingSecurities', window );">Fair Value</a></td>
<td class="nump">10,599,429<span></span>
</td>
<td class="nump">146,359<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="nump">10,599,429<span></span>
</td>
<td class="nump">146,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable Securities</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Fair Value, Inputs, Level 2 [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost', window );">Adjusted Cost</a></td>
<td class="nump">43,484,810<span></span>
</td>
<td class="nump">67,892,825<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Allowance for Credit Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Total Unrealized Gains / (Losses)</a></td>
<td class="nump">146,700<span></span>
</td>
<td class="nump">389,241<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradingSecurities', window );">Fair Value</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">68,282,066<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">9,993,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_MarketableSecurities', window );">Marketable Securities</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">58,289,066<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_CashAndCashEquivalentsAxis=us-gaap_CashMember', window );">Cash [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost', window );">Adjusted Cost</a></td>
<td class="nump">4,317,449<span></span>
</td>
<td class="nump">12,834,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Allowance for Credit Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Total Unrealized Gains / (Losses)</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_TradingSecurities', window );">Fair Value</a></td>
<td class="nump">4,317,449<span></span>
</td>
<td class="nump">12,834,444<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="nump">4,317,449<span></span>
</td>
<td class="nump">12,834,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable Securities</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money Market Funds [Member] | Fair Value, Inputs, Level 1 [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost', window );">Adjusted Cost</a></td>
<td class="nump">10,599,429<span></span>
</td>
<td class="nump">146,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Allowance for Credit Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Total Unrealized Gains / (Losses)</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_TradingSecurities', window );">Fair Value</a></td>
<td class="nump">10,599,429<span></span>
</td>
<td class="nump">146,359<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="nump">10,599,429<span></span>
</td>
<td class="nump">146,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable Securities</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember', window );">US Treasury Securities [Member] | Fair Value, Inputs, Level 2 [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_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [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_TradingSecuritiesDebtAmortizedCost', window );">Adjusted Cost</a></td>
<td class="nump">43,484,810<span></span>
</td>
<td class="nump">67,892,825<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Allowance for Credit Losses</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Total Unrealized Gains / (Losses)</a></td>
<td class="nump">146,700<span></span>
</td>
<td class="nump">389,241<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradingSecurities', window );">Fair Value</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">68,282,066<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">9,993,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_MarketableSecurities', window );">Marketable Securities</a></td>
<td class="nump">$ 43,631,510<span></span>
</td>
<td class="nump">$ 58,289,066<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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<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_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br> -Publisher SEC<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (3)<br> -Publisher SEC<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (c)<br> -Publisher SEC<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7)(2))<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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(1)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in marketable 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/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(2))<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 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.4)<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_MarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MarketableSecuritiesUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrealized gain (loss) on investment in marketable 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<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_MarketableSecuritiesUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TradingSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in debt security measured at fair value with change in fair value recognized in net income (trading) and investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-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.4)<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_TradingSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TradingSecuritiesDebtAmortizedCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investments in debt securities classified as trading.</p></div>
<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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: 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(2))<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_TradingSecuritiesDebtAmortizedCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CashAndCashEquivalentsAxis=us-gaap_CashMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAxis=us-gaap_CashMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472332752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Fair Value Assets and Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</a></td>
<td class="nump">$ 43,631,510<span></span>
</td>
<td class="nump">$ 58,289,066<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Fair Value, Inputs, Level 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Fair Value, Inputs, Level 2 [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">58,289,066<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">13,806,864<span></span>
</td>
<td class="nump">10,179,667<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">58,289,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="nump">57,438,374<span></span>
</td>
<td class="nump">68,468,733<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration - common stock</a></td>
<td class="nump">1,318,995<span></span>
</td>
<td class="nump">2,499,147<span></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_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration - warrants</a></td>
<td class="nump">320,780<span></span>
</td>
<td class="nump">233,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="nump">1,639,775<span></span>
</td>
<td class="nump">2,732,356<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">13,806,864<span></span>
</td>
<td class="nump">186,667<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</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_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="nump">13,806,864<span></span>
</td>
<td class="nump">186,667<span></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_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration - common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration - warrants</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">9,993,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_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">58,289,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="nump">43,631,510<span></span>
</td>
<td class="nump">68,282,066<span></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_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration - common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration - warrants</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (U.S. treasury bills and notes)</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_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration - common stock</a></td>
<td class="nump">1,318,995<span></span>
</td>
<td class="nump">2,499,147<span></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_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration - warrants</a></td>
<td class="nump">320,780<span></span>
</td>
<td class="nump">233,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="nump">$ 1,639,775<span></span>
</td>
<td class="nump">$ 2,732,356<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueOfContingentConsiderationToCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration to common stock.</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;">CODX_FairValueOfContingentConsiderationToCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_FairValueOfContingentConsiderationToWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of contigent consideration to warrants.</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;">CODX_FairValueOfContingentConsiderationToWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</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_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 820<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/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in marketable 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/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(2))<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 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.4)<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_MarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475595968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Changes in the Fair Value Measurement (Details) - Fair Value, Recurring [Member]<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Fair value as of December 31, 2022</a></td>
<td class="nump">$ 2,732,356<span></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_CODX_ContingentConsideredIssuedForBusinessAcquisitions', window );">Change in fair value of contingent consideration issued for business acquisitions</a></td>
<td class="num">(1,092,581)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Fair value as of December 31, 2023</a></td>
<td class="nump">$ 1,639,775<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ContingentConsideredIssuedForBusinessAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contingent considered issued for business acquisitions.</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;">CODX_ContingentConsideredIssuedForBusinessAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="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 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479668/805-30-25-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479613/805-30-35-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_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 820<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/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473500320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Contingent Consideration Common Stock and Warrants (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingTerm', window );">Expected term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputSharePriceMember', window );">Measurement Input, Share Price [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">1.33<span></span>
</td>
<td class="nump">2.52<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_MeasurementInputTypeAxis=CODX_MeasurementInputStrikePriceMember', window );">Measurement Input Strike Price [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">9.13<span></span>
</td>
<td class="nump">9.13<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_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember', window );">Measurement Input, Price Volatility [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">1.875<span></span>
</td>
<td class="nump">0.750<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_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember', window );">Measurement Input, Risk Free Interest Rate [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">0.040<span></span>
</td>
<td class="nump">0.041<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_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember', window );">Measurement Input, Expected Term [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [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_WarrantsAndRightsOutstandingTerm', window );">Expected term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 input used to measure outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain 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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<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_WarrantsAndRightsOutstandingMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsAndRightsOutstandingTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 between issuance and expiration of outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur, 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/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<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_WarrantsAndRightsOutstandingTerm</td>
</tr>
<tr>
<td style="padding-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_MeasurementInputTypeAxis=us-gaap_MeasurementInputSharePriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputTypeAxis=us-gaap_MeasurementInputSharePriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputTypeAxis=CODX_MeasurementInputStrikePriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputTypeAxis=CODX_MeasurementInputStrikePriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314567988912">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Property and Equipment (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation</a></td>
<td class="num">$ (2,232,495)<span></span>
</td>
<td class="num">$ (1,372,248)<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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">3,035,729<span></span>
</td>
<td class="nump">2,539,483<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 4,545,908<span></span>
</td>
<td class="nump">3,574,730<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember', window );">Leaseholds and Leasehold Improvements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">0 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember', window );">Leaseholds and Leasehold Improvements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 548,648<span></span>
</td>
<td class="nump">224,957<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 173,668<span></span>
</td>
<td class="nump">$ 112,044<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475565040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Goodwill (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwil - beginning</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 14,706,818<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments', window );">Measurement period adjustments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">681,728<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment charges</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(15,388,546)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill - ending</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="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 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<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(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<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/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<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_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-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_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GoodwillTranslationAndPurchaseAccountingAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) from foreign currency translation adjustments and purchase accounting adjustments of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-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 16<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>58
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473744480">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Schedule of Intangible Assets, Net (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 27,195,000<span></span>
</td>
<td class="nump">$ 27,195,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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Less accumulated amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(791,333)<span></span>
</td>
<td class="num">(426,667)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Intangible assets, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 26,403,667<span></span>
</td>
<td class="nump">$ 26,768,333<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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember', window );">In Process Research and Development [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_IndefiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful lives in years, term</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">Indefinite<span></span>
</td>
<td class="text">Indefinite<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 26,101,000<span></span>
</td>
<td class="nump">$ 26,101,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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Less accumulated amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">26,101,000<span></span>
</td>
<td class="nump">26,101,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,094,000<span></span>
</td>
<td class="nump">1,094,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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Less accumulated amortization</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(791,333)<span></span>
</td>
<td class="num">(426,667)<span></span>
</td>
</tr>
<tr class="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 );">Intangible assets, net</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 302,667<span></span>
</td>
<td class="nump">$ 667,333<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful lives in years</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Based on weighted-average
useful life established as of the acquisition date.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_IndefiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indefinite lived intangible asset useful life.</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;">CODX_IndefiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314471653136">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Future Amortization Expense (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 302,667<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_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 302,667<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314471705168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 14,706,818<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="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 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<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(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<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/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<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_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473729280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Accrued Expenses (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [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_AccruedPayrollTaxesCurrent', window );">Payroll liabilities</a></td>
<td class="nump">$ 1,643,186<span></span>
</td>
<td class="nump">$ 428,354<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Distributor commissions</a></td>
<td class="nump">9,958<span></span>
</td>
<td class="nump">159,725<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">519,815<span></span>
</td>
<td class="nump">346,368<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_AccruedLiabilitiesCurrent', window );">Total accrued expenses</a></td>
<td class="nump">$ 2,172,959<span></span>
</td>
<td class="nump">$ 934,447<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AccruedPayrollTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. 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_AccruedPayrollTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through that date and payable for sales commissions. 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-8<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.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_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classified as other, due 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_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472650592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Revenue by Geographic Area (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="nump">$ 6,812,038<span></span>
</td>
<td class="nump">$ 34,218,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_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="nump">$ 6,480,183<span></span>
</td>
<td class="nump">$ 24,671,554<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=country_US', window );">UNITED STATES | Revenue Benchmark [Member] | Geographic Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ConcentrationRiskPercentage1', window );">Percentage of revenue</a></td>
<td class="nump">95.00%<span></span>
</td>
<td class="nump">72.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES | Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="nump">$ 659,618<span></span>
</td>
<td class="nump">$ 24,671,554<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=country_US', window );">UNITED STATES | Grant [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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="nump">5,820,565<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=CODX_RestOfWorldMember', window );">Rest of World [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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="nump">$ 331,855<span></span>
</td>
<td class="nump">$ 9,546,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=CODX_RestOfWorldMember', window );">Rest of World [Member] | Revenue Benchmark [Member] | Geographic Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ConcentrationRiskPercentage1', window );">Percentage of revenue</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">28.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_StatementGeographicalAxis=CODX_RestOfWorldMember', window );">Rest of World [Member] | Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="nump">$ 331,855<span></span>
</td>
<td class="nump">$ 9,546,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=CODX_RestOfWorldMember', window );">Rest of World [Member] | Grant [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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue geographic area</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including 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_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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>
<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_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_GrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=CODX_RestOfWorldMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_RestOfWorldMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473168704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Deferred Revenue (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ContractWithCustomerLiability', window );">Deferred revenue, beginning balance</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_IncreaseDueToPrepaymentsFromCustomers', window );">Increase due to prepayments from customers</a></td>
<td class="nump">32,570<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_IncreaseDueToPrepaymentsFromGrantsReceived', window );">Increase due to prepayments from grants received</a></td>
<td class="nump">329,879<span></span>
</td>
</tr>
<tr class="re">
<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 );">Deferred revenue, ending balance</a></td>
<td class="nump">$ 362,449<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_IncreaseDueToPrepaymentsFromCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase due to prepayments from customers.</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;">CODX_IncreaseDueToPrepaymentsFromCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_IncreaseDueToPrepaymentsFromGrantsReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase due to prepayments from grants 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;">CODX_IncreaseDueToPrepaymentsFromGrantsReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>64
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473570480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Basis and Diluted Earnings Per Share (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_NetIncomeLoss', window );">Net loss, as reported</a></td>
<td class="num">$ (35,332,865)<span></span>
</td>
<td class="num">$ (14,238,249)<span></span>
</td>
</tr>
<tr class="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">29,346,599<span></span>
</td>
<td class="nump">31,479,028<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive effect of stock options, warrants and RSUs</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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Shares used to compute diluted earnings per share</a></td>
<td class="nump">29,346,599<span></span>
</td>
<td class="nump">31,479,028<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share</a></td>
<td class="num">$ (1.20)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="num">$ (1.20)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_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_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473225152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">2,618,362<span></span>
</td>
<td class="nump">1,443,238<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">512,112<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">1,400,000<span></span>
</td>
<td class="nump">1,400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">465,000<span></span>
</td>
<td class="nump">465,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=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_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>66
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473255024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Option Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options Outstanding, Beginning</a></td>
<td class="nump">1,040,572<span></span>
</td>
<td class="nump">1,111,363<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 2.19<span></span>
</td>
<td class="nump">$ 2.12<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Outstanding, Ending</a></td>
<td class="nump">$ 1.37<span></span>
</td>
<td class="nump">$ 1.31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options Outstanding, Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Granted</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Number of Options Outstanding, Expired</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Expired</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Number of Options Outstanding, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Cancelled</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options Outstanding, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(70,791)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1.10<span></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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised', window );">Weighted Average Fair Value Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 0.51<span></span>
</td>
</tr>
<tr class="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 Life (years) Outstanding, Beginning</a></td>
<td class="text">5 years 10 months 17 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options Outstanding, Ending</a></td>
<td class="nump">1,040,572<span></span>
</td>
<td class="nump">1,040,572<span></span>
</td>
</tr>
<tr class="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, Ending</a></td>
<td class="nump">$ 2.19<span></span>
</td>
<td class="nump">$ 2.19<span></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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm', window );">Weighted-average Remaining Contractual Life (years) Outstanding, Ending</a></td>
<td class="text">4 years 10 months 20 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Options Exercisable Ending</a></td>
<td class="nump">1,040,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 Ending</a></td>
<td class="nump">$ 2.19<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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable', window );">Weighted Average Fair Value, Exercisable Ending</a></td>
<td class="nump">$ 1.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted-average Remaining Contractual Life (years), Exercisable Ending</a></td>
<td class="text">4 years 10 months 20 days<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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercisable.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sharebased compensation arrangement by sharebased payment award non options outstanding weighted average remaining contractual term.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net 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/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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 option holders acquired shares when converting their stock options into 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 (c)(1)(iv)(02)<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of non-vested options forfeited.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of non-vested options 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant-date fair value of options vested.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share options (or share units) exercised during the current 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 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 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><br>Reference 4: 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 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(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_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473746560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Outstanding Restricted Stock Units and Related Party (Details) - Restricted Stock Units (RSUs) [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Outstanding Beginning</a></td>
<td class="nump">2,426,725<span></span>
</td>
<td class="nump">1,267,415<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Outstanding Beginning</a></td>
<td class="nump">$ 6.95<span></span>
</td>
<td class="nump">$ 9.94<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">1,948,750<span></span>
</td>
<td class="nump">1,925,476<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Granted</a></td>
<td class="nump">$ 1.92<span></span>
</td>
<td class="nump">$ 5.66<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Number of Restricted Stock Units, Vested</a></td>
<td class="num">(1,354,081)<span></span>
</td>
<td class="num">(725,166)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Vested</a></td>
<td class="nump">$ 6.17<span></span>
</td>
<td class="nump">$ 8.66<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Number of Restricted Stock Units, Forfeited/Cancelled</a></td>
<td class="num">(95,897)<span></span>
</td>
<td class="num">(41,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Forfeited/Cancelled</a></td>
<td class="nump">$ 6.16<span></span>
</td>
<td class="nump">$ 8.31<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Outstanding Ending</a></td>
<td class="nump">2,925,497<span></span>
</td>
<td class="nump">2,426,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Outstanding Ending</a></td>
<td class="nump">$ 3.99<span></span>
</td>
<td class="nump">$ 6.95<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314468392944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Warrant Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Warrants Outstanding, Beginning</a></td>
<td class="nump">485,000<span></span>
</td>
<td class="nump">526,281<span></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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Beginning</a></td>
<td class="nump">$ 8.81<span></span>
</td>
<td class="nump">$ 8.15<span></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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue', window );">Weighted Average fair value, Beginning</a></td>
<td class="nump">$ 2.43<span></span>
</td>
<td class="nump">$ 4.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted-average Remaining Contractual Life (Years) Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years 8 months 12 days<span></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_CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration', window );">Number of Warrants Outstanding, Issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,719<span></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_CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.13<span></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_CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted', window );">Number of Warrants Outstanding, Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations', window );">Number of Warrants Outstanding, Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Expired</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures', window );">Number of Warrants Outstanding, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Number of Warrants Outstanding, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(50,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_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 2.00<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1.22<span></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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3', window );">Weighted-average Remaining Contractual Life (Years) Outstanding</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Warrants Outstanding, Ending</a></td>
<td class="nump">485,000<span></span>
</td>
<td class="nump">485,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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Ending</a></td>
<td class="nump">$ 8.81<span></span>
</td>
<td class="text">&#160;<span></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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Ending</a></td>
<td class="nump">$ 1.29<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_CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Issued For Adjustments To Contingent Purchase Consideration Period Weighted Average Exercise Price.</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;">CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Issued for adjustments to contingent purchase consideration weighted average grant date 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;">CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value, exercised.</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;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price, beginning.</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;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award non options outstanding weighted average 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;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-option plan.</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;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price, forfeited/cancelled.</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;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to non-options of the plan that expired.</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;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price, forfeited/cancelled.</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;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercise price granted.</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;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation issued for adjustments to contingent purchase consideration.</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;">CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 life (years) outstanding, beginning.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sharebased compensation arrangement by sharebased payment award non options outstanding weighted average remaining contractual term3.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value, beginning.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value, forfeited/cancelled.</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grant date fair value, granted</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;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-option equity instruments exercised by participants.</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 (c)(1)(iv)(2)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 under non-option equity instrument agreements for which rights to exercise lapsed.</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 (c)(1)(iv)(4)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="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 (c)(1)(iv)(3)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of non-option equity instruments granted to participants.</p></div>
<a href="javascript:void(0);" onclick="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 (c)(1)(iv)(1)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity instruments other than options outstanding, including both vested and non-vested instruments.</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 (c)(1)(i)<br> -SubTopic 10<br> -Topic 718<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 (c)(1)(ii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314469501312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Recognized Stock-based Compensation Expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">$ 8,336,855<span></span>
</td>
<td class="nump">$ 7,543,223<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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Sales [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">46,586<span></span>
</td>
<td class="nump">63,058<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_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Selling and Marketing Expense [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">2,153,974<span></span>
</td>
<td class="nump">1,866,116<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_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and Administrative Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">4,933,822<span></span>
</td>
<td class="nump">4,050,967<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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and Development Expense [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">$ 1,202,473<span></span>
</td>
<td class="nump">$ 1,563,082<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314568002624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Aug. 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average period</a></td>
<td class="text">4 years 10 months 20 days<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_ClassOfWarrantOrRightOutstanding', window );">Warrants purchase</a></td>
<td class="nump">465,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_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value of options outstanding</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of warrants exercised</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 300,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_CODX_ClassOfWarrantExercisable', window );">Warrants exercisable</a></td>
<td class="nump">20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=CODX_StockOptionsMember', window );">Stock Options [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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of options value exercised</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">400,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value of options outstanding</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">$ 800,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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation</a></td>
<td class="nump">$ 9,500,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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average period</a></td>
<td class="text">1 year 8 months 12 days<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=CODX_TwoThousandFifteenLongTermIncentivePlanMember', window );">2015 Long Term Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of common shares availalble for issuance</a></td>
<td class="nump">4,357,937<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ClassOfWarrantExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Class of warrant exercisable.</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;">CODX_ClassOfWarrantExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of warrants exercised.</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;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=CODX_StockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_StockOptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="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_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=CODX_TwoThousandFifteenLongTermIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_TwoThousandFifteenLongTermIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314479582192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Components Income Tax Provision (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Current:</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_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 84,435<span></span>
</td>
<td class="nump">$ 563,821<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="num">(540,240)<span></span>
</td>
<td class="num">(266,248)<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_CurrentFederalStateAndLocalTaxExpenseBenefit', window );">Total current</a></td>
<td class="num">(455,805)<span></span>
</td>
<td class="nump">297,573<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred:</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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(7,228,611)<span></span>
</td>
<td class="num">(3,945,090)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(2,068,509)<span></span>
</td>
<td class="num">(961,468)<span></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_CODX_ChangeInValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">6,975,234<span></span>
</td>
<td class="text"> <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_DeferredFederalStateAndLocalTaxExpenseBenefit', window );">Total deferred</a></td>
<td class="num">(2,321,886)<span></span>
</td>
<td class="num">(4,906,558)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax benefit</a></td>
<td class="num">$ (2,777,691)<span></span>
</td>
<td class="num">$ (4,608,985)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ChangeInValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowance.</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;">CODX_ChangeInValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentFederalStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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_CurrentFederalStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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_DeferredFederalStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472308432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal income tax expense at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income tax expense, net of federal tax benefit</a></td>
<td class="nump">1.60%<span></span>
</td>
<td class="nump">4.80%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract', window );"><strong>Permanent differences:</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_EffectiveIncomeTaxRateReconciliationFdiiPercent', window );">- Foreign derived intangible income deduction</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">1.40%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">- Stock based compensation</a></td>
<td class="num">(3.50%)<span></span>
</td>
<td class="num">(3.60%)<span></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_CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement', window );">- Contingent consideration remeasurement</a></td>
<td class="nump">0.60%<span></span>
</td>
<td class="nump">8.80%<span></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_CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment', window );">- Goodwill impairment</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(17.10%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">- Other permanent differences</a></td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(0.60%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment', window );">Research and development credits</a></td>
<td class="nump">4.60%<span></span>
</td>
<td class="nump">11.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_CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance', window );">Change in uncertain tax positions</a></td>
<td class="nump">1.20%<span></span>
</td>
<td class="num">(2.10%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(18.30%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">0.80%<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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent', window );">Effective income tax rate</a></td>
<td class="nump">7.30%<span></span>
</td>
<td class="nump">24.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation change in valuation allowance.</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;">CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation contingent consideration remeasurement.</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;">CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation Goodwill impairment.</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;">CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="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(h)(2))<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments.</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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480887/718-740-35-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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473230112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred tax 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">$ 58,158<span></span>
</td>
<td class="nump">$ 98,141<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Reserves and allowances</a></td>
<td class="nump">734,631<span></span>
</td>
<td class="nump">765,004<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits', window );">Deferred compensation</a></td>
<td class="nump">620,551<span></span>
</td>
<td class="nump">566,076<span></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_CODX_DeferredTaxAssetsCosts', window );">Section 174 costs</a></td>
<td class="nump">7,337,629<span></span>
</td>
<td class="nump">3,460,159<span></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_CODX_DeferredTaxAssetsLeaseLiability', window );">Lease liability</a></td>
<td class="nump">742,131<span></span>
</td>
<td class="nump">85,899<span></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_CODX_DeferredTaxAssetsUniformCapitalization', window );">UNICAP</a></td>
<td class="nump">43,943<span></span>
</td>
<td class="nump">168,936<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">4,040,601<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_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development credits</a></td>
<td class="nump">1,688,255<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total gross deferred tax assets</a></td>
<td class="nump">15,265,899<span></span>
</td>
<td class="nump">5,144,215<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less valuation allowance</a></td>
<td class="num">(6,938,829)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">8,327,070<span></span>
</td>
<td class="nump">5,144,215<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax 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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Property and equipment, net</a></td>
<td class="num">(672,416)<span></span>
</td>
<td class="num">(609,261)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Intangibles, net</a></td>
<td class="num">(6,552,255)<span></span>
</td>
<td class="num">(6,608,914)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses', window );">Prepaids</a></td>
<td class="num">(329,768)<span></span>
</td>
<td class="num">(156,053)<span></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_CODX_DeferredTaxLiabilitiesRightOfUseAsset', window );">Right of use asset</a></td>
<td class="num">(736,226)<span></span>
</td>
<td class="num">(91,873)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome', window );">Other comprehensive income</a></td>
<td class="num">(36,405)<span></span>
</td>
<td class="num">(96,101)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(8,327,070)<span></span>
</td>
<td class="num">(7,562,202)<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_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax liability</a></td>
<td class="text"> <span></span>
</td>
<td class="num">$ (2,417,987)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_DeferredTaxAssetsCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets 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;">CODX_DeferredTaxAssetsCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_DeferredTaxAssetsLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets lease liability.</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;">CODX_DeferredTaxAssetsLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_DeferredTaxAssetsUniformCapitalization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets uniform capitalization.</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;">CODX_DeferredTaxAssetsUniformCapitalization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CODX_DeferredTaxLiabilitiesRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax liabilities right of use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_DeferredTaxLiabilitiesRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<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(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<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(15)(2))<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_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains in other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesPrepaidExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.</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_DeferredTaxLiabilitiesPrepaidExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>74
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314473781600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits at the beginning of the year</a></td>
<td class="nump">$ 1,469,577<span></span>
</td>
<td class="nump">$ 1,067,853<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross increases- current year tax positions</a></td>
<td class="nump">273,569<span></span>
</td>
<td class="nump">1,045,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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Gross increases- prior year tax positions</a></td>
<td class="nump">66,127<span></span>
</td>
<td class="nump">34,035<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Gross decreases - prior year tax positions</a></td>
<td class="num">(730,842)<span></span>
</td>
<td class="num">(677,901)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits at end of year</a></td>
<td class="nump">1,078,431<span></span>
</td>
<td class="nump">1,469,577<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued', window );">Interest and penalties in year-end balance</a></td>
<td class="nump">$ 100,162<span></span>
</td>
<td class="nump">$ 34,035<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 statutory penalties accrued for a tax position claimed or expected to be claimed by the entity, in its tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>75
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314588251776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry-forwards</a></td>
<td class="nump">$ 16,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Research and development credit carry forwards</a></td>
<td class="nump">1,400,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_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal', window );">State net operating loss carryforwards</a></td>
<td class="nump">16,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards', window );">State research and development credit carryforwards</a></td>
<td class="nump">800,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_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized tax benefits that would impact effective tax rate</a></td>
<td class="nump">$ 1,078,431<span></span>
</td>
<td class="nump">$ 1,469,577<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_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible state and local operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxCreditCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314467829872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Lease Expense (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_OperatingLeaseCost', window );">Operating lease costs</a></td>
<td class="nump">$ 813,743<span></span>
</td>
</tr>
<tr class="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 costs</a></td>
<td class="nump">198,261<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_LeaseCost', window );">Total lease costs</a></td>
<td class="nump">$ 1,012,004<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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease cost recognized by lessee for lease contract.</p></div>
<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> -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_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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>77
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314468334384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Maturities on Company Lease Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 996,676<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">1,018,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">714,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">300,591<span></span>
</td>
<td class="text">&#160;<span></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_CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour', window );">Thereafter</a></td>
<td class="nump">308,462<span></span>
</td>
<td class="text">&#160;<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">3,338,742<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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: imputed interest</a></td>
<td class="nump">348,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Present value of operating lease liabilities</a></td>
<td class="nump">2,990,567<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Less: current portion</a></td>
<td class="nump">838,387<span></span>
</td>
<td class="nump">$ 297,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term portion</a></td>
<td class="nump">$ 2,152,180<span></span>
</td>
<td class="nump">$ 50,708<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_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 );">- Definition</a><div><p>Lessee operating lease liability payments due after year four.</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;">CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>78
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314472969136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Other Information Related to Operating Lease (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_OperatingLeasePayments', window );">Cash paid for operating leases included in operating cash flows</a></td>
<td class="nump">$ 954,013<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Remaining lease term of operating leases</a></td>
<td class="text">3 years 8 months 12 days<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Discount rate of operating leases</a></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_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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="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 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<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)(1)<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_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314474676032">
<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>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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">$ 2,990,567<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=CODX_LeaseAmendmentMember', window );">Lease Amendment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">$ 3,203,146<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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 808<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/2147479402/808-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_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_TypeOfArrangementAxis=CODX_LeaseAmendmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=CODX_LeaseAmendmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314471653136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Treasury Stock (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </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_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_TreasuryStockCommonShares', window );">Treasury stock, Beginning Balance</a></td>
<td class="nump">3,881,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_CODX_RepurchasesOfCommonStock', window );">Repurchases of common stock</a></td>
<td class="nump">967,020<span></span>
</td>
</tr>
<tr class="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, Ending Balance</a></td>
<td class="nump">4,848,678<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_RepurchasesOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Repurchases of common stock.</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;">CODX_RepurchasesOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314475598096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Share Repurchase Program (Details Narrative)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Mar. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program authorized amount</a></td>
<td class="nump">$ 30.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_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_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock repurchase plan authorized.</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_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>82
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140314468300160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Research and development expenses</a></td>
<td class="nump">$ 22,962,593<span></span>
</td>
<td class="nump">$ 17,438,098<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_RelatedPartyTransactionsByRelatedPartyAxis=CODX_SethEganMember', window );">Seth Egan [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_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share based payment, vesting period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></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_CODX_PaymentToRelatedParty', window );">Fair value of equity awards</a></td>
<td class="nump">$ 600,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_RelatedPartyTransactionsByRelatedPartyAxis=CODX_WinstonEganMember', window );">Winston Egan [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_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_CODX_PaymentToRelatedParty', window );">Fair value of equity awards</a></td>
<td class="nump">100,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_RelatedPartyTransactionsByRelatedPartyAxis=CODX_CoSaraDiagnosticsPvtLtdMember', window );">CoSara Diagnostics Pvt Ltd [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_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Research and development expenses</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_PaymentToRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payment to related party.</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;">CODX_PaymentToRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: 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)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<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(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-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_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=CODX_SethEganMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=CODX_SethEganMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=CODX_WinstonEganMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=CODX_WinstonEganMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=CODX_CoSaraDiagnosticsPvtLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=CODX_CoSaraDiagnosticsPvtLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>84
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +J ;E@'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    " "Z@&Y8!]A7[N\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>.FTW#E&7"]-.("$Q"<0M2KPMHFFCQ*C=VY.&K1."!^ 8^\_G
MSY);[84> CZ'P6,@B_%N<ET?A?8;=B+R B#J$SH5RY3H4_,P!*<H/<,1O-(?
MZHA0<WX/#DD910IF8.$7(I.MT4('5#2$"][H!>\_0Y=A1@-VZ+"G"%59 9/S
M1'^>NA9N@!E&&%S\+J!9B+GZ)S9W@%V24[1+:AS'<FQR+NU0P=O3XTM>M[!]
M)-5K3+^B%73VN&'7R:_-PW:_8[+F]:K@35&M]C47?"V:]?OL^L/O)NP&8P_V
M'QM?!64+O^Y"?@%02P,$%     @ NH!N6)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*3ZQ4D!B-?JY7R&F_&Y,2?/FW][;I$#$"4FGD&U#$M.4"4\&XI$;<9"/EG\
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
MXB'Q6@2C.$E"WY\PI&->[*;>VI!7!3C@1V,/!_3Z"RJY7HEL+[+@$?TK<GB
M/EF#O59S+)3K>9$W2HVQW E4XB2<:.9)Q\S$S<PM)1Q2N,B8:OT@"<)1$%D$
M8TQ)Z$WP >DXF;@YN0[[>[X4DK=HD69/]E A8QX],9'L!4$X!&P1Q7'L1_OT
MT8?<<2YQ<^Z['4P 7O&)/0D9<^@)B:(H3(:!;9/TH5%.XHDZ23JV)6ZV_9UK
M9.+:"M!"FQ3Z 1*'PP[=)@I=+XV)/Q6N'<.20Q@V[9TI3$(^*M$>2UO?\(YH
MB9MH%RL&==$4%<A.M*GD/J?55-#LKMA]P9'BZ49"1>6J3F9392'^K&LTYESP
M%51);^A4RVXXH7A/KF]81\[$3<[[!:COUS;!FU)K!3_FZ0GP%D)W@>]HF+AI
M>'%8($:CLQC('3]*H*48(K6(8IKX 9XZMR$= Y/8F3MU\5PWRUQ"P"C8S/ S
M*V GE7]SYAQ)6]_LCJ^)FZ^OF,I3JY7-N+BWUJ=DZ!&+E'<ZU932CGCI"UOB
MO-CHX0EF>\3G'0+,)N4 UG$LQ<XP^5@?84-E85O8<D'-J>,$2LQ&*PU[=^C/
MK$%#_\<&>#IHCJ6MOP@=:U,W:T\&#1W3+Y02/PR2X>; (@DE)TJ\J:,JNG=&
M["9J5^R,R7<*WUCR!7P=2U/W&?&-%-DFU>BV.2-&?[_GY3V7_U@!'Y6ECZ6M
M;WC'TM3-TB^?W@>C^IXDL.K#AM\BYSZ^IQWA4C?AOI6L.M U1SV#/I:VOMD=
M55,W5;_LFC'U!K#>P:B_=4_T#;O^^=[]6\GE0WTMJ8">-Y5N+K!V7W=7GV_J
M"[_!]RM\MF@N,#LUS7WJ>R8?3']8\"6H]$XC,$\V5Y3-BQ;K^I;O7F@MROIQ
MQ5G&I1& WY="Z.<7,\'NHOCR/U!+ P04    " "Z@&Y8<T<#Y2,'  !0-P
M&    'AL+W=O<FMS:&5E=',O<VAE970U+GAM;+6;VW+;-A"&7P6C=GJ8B2,"
M/*>V9A*)AURD\=A->]'I!2W!%B<4J8"0Y;Q]08J61("$1'6;BU@'[+<D]^>"
M_"%>;POVM5Q2RM'+*LO+F]&2\_6[\;B<+^DJ*=\6:YJ+;QX+MDJX>,N>QN6:
MT611!ZVR,3$,9[Q*TGPTN:X_NV63ZV+#LS2GMPR5F]4J8=\_T*S8WHSPZ/6#
MN_1IR:L/QI/K=?)$[RG_LKYEXMUX3UFD*YJ7:9$C1A]O1N_QNYA854 ]XL^4
M;LNCUZC:E8>B^%J]^;BX&1G5%M&,SGF%2,2?9SJE65:1Q'9\:Z"C?<XJ\/CU
M*SVL=U[LS$-2TFF1_94N^/)FY(W0@CXFFXS?%=N8-CMD5[QYD97U_VB[&^N(
MP?--R8M5$RRV8)7FN[_)2W,@C@-(3P!I H@40/H"S"; E +,O@"K";#D *<G
MP&X";#G [0EPF@!'WH>^ +<)<*4 ;/4$>$V 5U=W5XZZEK.$)Y-K5FP1JT8+
M6O6B%D0=+4J8YI5V[SD3WZ8BCD^F15X66;I(.%V@>R[^"&%R5#RBZ3+)GVB)
MTEQ\7LR_+HML05GY,PJ^;5+^'5VA+_<S],N/OUZ/N=B0"C>>-TD_[)*2_J3/
ME/'T(:/H5FB5,E9G%UG0WY_HZH&R?WJ_Z$@W/95NM2KRTYB9'O.'Z WEAGW?
M@=Z@!JL!!GK@^\4BK4[@)$.W2;JX$D=ZFJQ3+MYKH.$)Z.?I1_2><Y8^;'A2
M'6%>"#RKJJJA1GKJ'>6B#XI:! G+T_RIU+'B$\>Q$'O8#AL+U>ZE2_;2)37'
MZN%\2+(DGU.4<#2C\[?(Q&\0,0CNTJ.65,T/[\IU,J<W(S$!E)0]T]$$=0EM
MQ[%K3C4M/$],TR/&]?CY6$= V0(UFV<0%_N^WTX8 B6,U(2VA1V?>-(>QNI
M;%J6:QM'F]8JJKDOJGE.4=^@<BDT6YY57"UQ0'%W'*==7.Q[#I'J>T'"GW[
MCO%;5Y$A82$D+(*$Q4"PEJBLO:@LK:B:3EW6$T!:EAO1R,1E'RK6]?43?:%L
MGI:T[!*7ECQ 7)9RQKARVP!*%5B*CEW7,Z1L(5"V"(@3=QP@USLZ1JW*V_O*
MVR"5?^TW70K09AAX&DQMM3:&ZV-)"9 I TA8" F+(&'QJ2/;TH^SUX]SD7ZV
M"6.)N*+2M@XM>D#K<-1966X=0*D"1SF(XF)#SA8"98N .+%Z@+!1_>NNO;NO
MO0M3>UWST*88VCQ<I3IV:S=W6H!,&4#"0DA8! F+@6 MG7E[G7E:G=6WDU>5
M ;- \V*UIGF9-+-3]9IVR4I+'-!:/'72);:D)Z!<@:<V:-LBEN])W04H7P3$
MB3NWVR3$[&XO_K[L_G\JNZZK:,E#NXJO[A^QL>-(,H#,&4#"0DA8! F+@6 M
M?6'C8.T9%TU@R?S;)BUKZZE377KL@.[2@%H&AF1=S*"2!0WH6,>69SB>*[47
MJ(01%"CNWG+7=;H;##[R=O%_%H"NS>CQ0_M,0SO>3<^S++G/@"8-0&DA*"T"
MI<50M+;6#F8LUKNQ=W2]8?.EF,[*:O5@?B2]3FE!.;)0H%D#.I;G%;8(QIX\
M%090.4,H4 0%BL\Z"FV)'*Q=K/=V/_,E9?6U#J/+:OGSF:*L*$4+RFF]Y,23
METZM0!F\4* 9%"B  H58-:^);V)+NCF,H!+&IQ.V57+P:K'>K/U=:*%21:<2
MH-Q8*- ,"A1 @4(H4(15'[EJ!:8G[MFDY:"SAK;U<'!PL=["[5GF(YWZN,!1
M[-:'K2[T6>*V3[Y644W'WCE#'2JN?EQQSMCR!:HZLOM45L>9OAAHF%@NC[HW
M&%MVM9!H]93G8)!BO4-Z8L&NNTQ0SBA6_<JZ3,2138Q+4FJN*B%I(2@M J7%
M4+2VN@X6++[,@QVR?J-/,?@N!I(V Z4%H+00E!:!TN)+:$BGR(-9B^'=6CUR
M2+]3_5ILJK,2E&.+5>O3,TW;-K \94%YME"@N.-(B4UW/-ONF? .MBW^_WQ;
M/7IP*U*=VTH-AB<O)X.F#4!I(2@M J7%4+3VS]L._BW1^[<#+14];<B/W(!
M,Z(:FU?8=$R?2#<0 53*$ H408'B<PY"6R '?Y?H_=U+#14]=HA2@$ S*%
M!0J)ZE:+6SO'4F[#H#+&9V1LZ^3HA[)Z;U9GJ>A#AV@!RHB% @50H! *%)$.
M=]6T39-X\@UK?-;0MAX.1BPYZT>V\KVZV:D/*/.U ;4L%0<;TNK_K&/8%;9M
MUW9]6YXTU*&^XQF>94KF2]@Q4IQ9KOS3F:ACG&7[GK(8'G<,]!Q#M'7<5YR#
M_TGT_N<)0Z6[2%"^*%&-O+I(IK),=TG*_FM*4%H(2HM :3$4;:>N\=&3/]6S
M9I\2]I3F)<KHH\ ;;UVA4+9[?&OWAA?K^F&@AX+S8E6_7-)D05DU0'S_6!3\
M]4WU?-'^(;K)OU!+ P04    " "Z@&Y8\^(PF<4(  #M)@  &    'AL+W=O
M<FMS:&5E=',O<VAE970V+GAM;+5:;7/;-A+^*QA=IY/.1!'QPC?7UDQL7WJ9
MN=YXXFGO,T1"%AN24 E(=OKK;T'*(D4"L)U3\R&6J,5R%_OR/ OR\E$V7]5&
M"(V>JK)65[.-UMN+Q4)E&U%Q]4%N10V_K&53<0U?FX>%VC:"Y^VBJER0((@6
M%2_JV?*RO7;7+"_E3I=%+>X:I'95Q9MOUZ*4CU<S/'N^\*5XV&AS8;&\W/('
M<2_T;]N[!KXMCEKRHA*U*F2-&K&^FGW$%S<L- M:B=\+\:@&GY%Q927E5_/E
M<WXU"XQ%HA29-BHX_-F+&U&61A/8\>=!Z>QX3[-P^/E9^Z?6>7!FQ96XD>5_
MBUQOKF;)#.5BS7>E_B(?_R4.#K4&9K)4[?_H\2 ;S%"V4UI6A\5@0574W5_^
M=-B(P0(<.1:0PP(R7L <"^AA 6T=[2QKW;KEFB\O&_F(&B,-VLR'=F_:U>!-
M49LPWNL&?BU@G5[>R%K)LLBY%CFZU_ '8J05DFMTP]4&?8(X*S1'O]W?HG<_
M_'2YT'!3LW21'6YPW=V .&Z "?I5UGJCT#_K7.2G"A9@[=%D\FSR-?%JO!79
M!T3Q>T0"0BT&W;Q^.?&80X\[2%M]U+6#9IO6[3:M&UDAJ+"&ZZ)^Z%*TT(50
MMFWKM#*[5E.]%VK+,W$U@_)4HMF+V?+'?^ H^-GF\IF4G6P .VX \VE?_@>:
M32F5U<EN9=BN-!UEOYS3D%*21.'E8C_TP"*)&:$)8>E1\L2\\&A>Z(W/Q_P/
M**,NJ[6$UI/).BM*@>J#W>9J9H+X;J>@"(KZ)[1MY+Z ;$6K;]9X7MA\#<\9
MT#,I.]FQZ+ACD3>@MP*49@7O^FR=(U[)1A=_M1=LGG?JHD'L,*$!B]DHQC:Y
MA,0XL4<X/MH;>^W]1<K\L2A+5%1;7C0FU"C;\.;!7GA>9?:M1;80Q5-O0IHD
M(8OL[B1'=Q*O._=:9E_G!IMRE,D* %MUH1!/YK.P^91,;$DHC9)P7&53N3AD
ME)@^:C,Y/9J<>DV^V?#Z04#IH#4$ .UYN1,&0GCVYZY016L]E)VI(@'%9X]+
M.K%MCH.4A D>.6$1C),TC1BS>X&#'@P#?RN3];QM!:6 [?=M^$'1T @6IRD9
MF6H1@\*@@</0 6ICKZ%?!"^+OR!!'H"I(=C=HMZ+0Y>SFHNG>T8(&!*F8XN]
M-WY5>9SZ1'J?B->G=[]PTWO;EMPBJ8#DT=]0)?1&Y@,/K0X26_8$<4#'_DT%
M 8_2R($RN*<!V NRRW\;NR$2>:&V\I#SI@24$HZ8T(DE)(R3L;U3*4P3C&.'
MO3UJ8S]LWXJU:)H6\*#+"*3YD[TN#WI.<X?A.$WBL:T629;@@(4N:WL0QU[$
M6]X91&YG!QA=4 9V%QUZ.VP.)Y9$@#7!)-NG<H1%.*#$87"/H=@/HI\A76LM
M&R 0*V#80F70^?PM90J/E!BN-.Y_%D',P#=7"O<XBF,_E6W;N#)]O$O;%OW+
M@J^*TLU[\'< JIOXG$O;Z1;TV(O]X/LQR^3.4$5@0*+8\U5IC]442$E(HS29
ME.]4$+.4,$9<)=%C+O:#[ETC@.[DSRG5!4OJC6A\36<*GCA(C.UCPRTH"X@1
MI Z0)3W($C_('BO#9A^QX"JFF 4C\RQR<QK%E :.*B ]MA(_MAX;8R/ T)TU
M_F2*IS2"J([[BT5NCL, _CFL[-&2^-'R\Z!KHRW_YLI48@'&D) @'6>J31#D
M, E=MO;02/S0>"RJ@YWO@1AFS4Y8<W?0;JS^6/ PCA)*Q@EL$0382F"BQ Y_
M>N@D+T^\;YP8K:[8@)4$"9Y.QQ;1*(R2F#JZ".F!E?C'X_'Q14>S7F'\6<?=
M<VD[W80>K(D?K.]V#0R,)@^!L4$H(8! /$U.&@ZZ=9%.,@7B.:912(-),MHD
M 0-"[" :I =MXI]^@1EE0N2'\%5<[YHV:,:5BC=?A38E-Z#/2(GL(&-URC+7
MDIB$.,*3[F81A7X1DL@Q I,>AXD?AT\B,G#C!=NG:#O'P#_3F+'Q881--H(1
M+DR)R_H>FHD?FE]H$*^N,0M8FR.&))I$PH+6,#A'"8X="49[O*;!FSK$NJ@Y
M#/$O'W!Z:<";3SC/I.UT$WI20/VDX+3*Q)-HLD*U9QQR:T:]#L$>>=-PQPCN
MO\$;SIWHE%/@.$YB!TS3GE)0/Z7X(K;#J@-^4<&\I<QQE-4AV\A-(YJ2<79:
M)1G! '2.4J.#TW<_M["4VJL3U,(0' [8)%E :9JZ'.C)!'V93.0")EISX@23
M5^N,2:;V@\&?/2]=YSK40B&2((Q2,F80-DF@$)0RZN!#M.<0U#^<W[A,1ERC
ME7@HZMI$PV"K: J96SVQ3.(DC6DR.<&Q2$)'#&)"':,)[7D ]?, KR/"4%2O
M"[:Y/(4F/#G4L4A.G#UUH:<#U#_#W^^VV[)]B,=+<Q:5E5+MFK939<^-'-*L
M>P#L.,^G9YWHSZ7M=$-Z)D']3.)SK07HU<@,RU9OO>O?TIC_?T6G/O9\@_KY
MQF@8=/@YY0AAF,:31C$5@[DVB9F#2+">2# _D?"D9OU\\#Z@1E!N?2?7@*N*
MMX_^[0\:STHVSJ7M=*-ZLL'\9*,_.ZSD'D!-R^-0\AYM2V 8+\\F;,H2HGC<
M2BU"!"=IX  UUE,)]@*5,&]/S.5Z#J#\?)8H5YJ#F,%H(%!9]\C(G.;6XG$P
M,W>/7EXX!6"64WP24,S&@Y=%$$@Q=9V^L9YW,#_ON-XIN*+4R3.N"FR'C&ZG
MK XG$.\?/UL=^8XG]];FPRSG(F'J@!,V>+;O9R>?3I[G#2DA*I0R1SA<F4=[
M"F:;IGM,:4*ZLNR.W7_O[=_B_Y3?L"2(8U<J]^2&^<G-> <.3S'UW[$9WW$*
M8M^,</(V!4Y3&H[/1A>#%X<JT3RT[U,9%W:U[E[(.5X]OK/UL7U3:73]&E_<
M=&]>]6JZ%\%^Y0WP/P5EO0:5P8<8C&JZ=ZNZ+UINV]>35E)K6;4?-X+#!AH!
M^'TMI7[^8FYP?,-M^3]02P,$%     @ NH!N6-M.QA=; @  N@4  !@   !X
M;"]W;W)K<VAE971S+W-H965T-RYX;6RME%%OTS 0Q[^*%1#:)+8T3EK*2".M
M+1.3&*HV!@^(!S>Y-M8<.]B7=OOVV$X:NJF;$.(E\=GW__GNDKMTJ_2=*0&0
MW%="FDE0(M9G86CR$BIF3E4-TIZLE*X86E.O0U-K8(4752*D@\$HK!B709;Z
MO87.4M6@X!(6FIBFJIA^F()0VTD0!;N-:[XNT6V$65JS-=P WM8+;:VPIQ2\
M FFXDD3#:A*<1V>SQ/E[AV\<MF9O35PF2Z7NG'%93(*!"P@$Y.@(S+XV, ,A
M',B&\:MC!OV53KB_WM$O?.XVER4S,%/B.R^PG 3C@!2P8HW :[7]!%T^0\?+
ME3#^2;:M;V)OS!N#JNK$UJZX;-_LOJO#GB :/2.@G8 ^%23/".).$/M$V\A\
M6G.&+$NUVA+MO"W-+7QMO-IFPZ7[BC>H[2FW.LP6[(%L#%F ]G^$S(',N<F%
M,HT&<D)N;^;DZ/5Q&J*]S$G"O -/6S!]!AQ1<J4DEH9\E 44CP&AC;(/E>Y"
MG=(7B7/(3TD<O25T0.,# <W^7DY?""?N*Q=[7OQ/E?OQE2T%_#Q4MQ:;',:Z
MKCTS-<MA$MBV-* W$&1O7D6CP8=#.?\GV*,*)'T%DI?HV1<[9"YEKBH@1Y^5
M,<?D'%'S98,N=X**+)@&B8>*T)*'GNPFS28[B8=Q3,>C81IN]C,\X!DE-![3
MY'WOV88?[K5!!7KMIX,AN6HDMK]9O]L/H'/?=T_VIW8PM7/D#Z:=:E=,K[DT
M1,#*(@>G[VQ<NIT4K8&J]LVV5&A;UR]+.UQ!.P=[OE(*=X:[H!_7V6]02P,$
M%     @ NH!N6.U4)JM, @  D@8  !@   !X;"]W;W)K<VAE971S+W-H965T
M."YX;6R=E5MOFS 4@/^*Q:0]M>&6RY0!4M)N6AXZ16FV/4Q[,'  J\9FMFG:
M?S_;$)9-"97R K8YY_-WC#A$!RZ>9 6@T$M-F8R=2JEFZ;HRJZ#&<L(;8/I)
MP46-E9Z*TI6- )S;I)JZ@>?-W1H3YB217=N*).*MHH3!5B#9UC46KVN@_! [
MOG-<V)&R4F;!3:(&E_ (ZENS%7KF#I2<U, DX0P)*&)GY2_7"Q-O [X3.,B3
M,3*5I)P_F<DFCQW/" &%3!D"UK=GN -*#4AK_.Z9SK"E23P='^F?;>VZEA1+
MN./T!\E5%3L?')1#@5NJ=OSP!?IZ9H:7<2KM%1VZV.G405DK%:_[9&U0$];=
M\4M_#B<)FG,^(>@3 NO=;60M[['"223X 0D3K6EF8$NUV5J.,/-2'I703XG.
M4\E&'V\. NT%S@DKT4H(S$K0QZYDY"J]@XESLYZV[FC!!5J('CA3E42?6 [Y
MO_FN-AOT@J/>.A@%WD,V0:%_@P(O"$=XX5!N:'GA!=ZY,F]0^HHV+"?/)&\Q
M13_W.*7PZUSU'7QZ'FZ^GZ5L< :QHS\0">(9G.3].W_N?1Q1GP[JTS%ZLFLI
M(-]+9[?^J3Y:Y;Q1_Q]VISL.+#"5,"(V&\1FHYROG-U>(3<.?4MN/LC-KSJU
M/0C]->$+;N/,M]P6@]OBZH,;]QOG7O1S3_I$#:*TW5"BC+=,=2UC6!T:[JKK
M,W_#NV[]@$5)F$04"IWJ31;Z=8JN W83Q1O;=5*N= ^SPTK_-$"8 /V\X%P=
M)V:#X3>4_ %02P,$%     @ NH!N6"&U/09*!0  N L  !@   !X;"]W;W)K
M<VAE971S+W-H965T.2YX;6R=5MMN&S<0?==7$ H0)("LFYT+8EN ;*=M'I((
M=MT6*/I <6=W67/)#<F5K'Y]SW!7%P>*"_1%VEURSIPY<R$OULX_A)(HBL?*
MV'#9+V.L/XQ&0954R3!T-5FLY,Y7,N+5%Z-0>Y)9,JK,:#H>OQU54MO^[")]
M6_C9A6NBT9867H2FJJ3?7)%QZ\O^I+_]<*N+,O*'T>RBE@7=4;RO%QYOHQU*
MIBNR03LK/.67_?GDP]49[T\;?M.T#@?/@B-9.O? +Y^RR_Z8"9$A%1E!XF]%
MUV0, X'&MPZSOW/)AH?/6_2?4NR(92D#73OSN\YB>=E_WQ<9Y;(Q\=:M?Z$N
MGC>,IYP)Z5>LV[VG;_I"-2&ZJC,&@TK;]E\^=CH<&+P?_\!@VAE,$^_646)Y
M(Z.<77BW%IYW XT?4JC)&N2TY:3<18]5#;LX^[HBOV+QI,W$E0PZ")>+A:=
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
M&XTV:*50R].8+J0*N AY#D=Q"\"0;4EXH5?^BDXZ97*C+?1VOUJ7N9D)5J[
MX^L8Z>R/8>**C WD<U$5/B4)/P)?O8^/T^NI7+ZLW-T'OI?K=F]L(_K=HQ9'
MWUSIFW#^2K SK:,SX2PO.=:7CC$GEZ6)3/&,!Q?QZ/2Z3!ZD[L-LN-CR;?14
MZ8,W?17F#&*^Q2(\"B],>MN^3_L#!X$[?,:S>^>.=ZNC6@?7L,8N>8Y>[(R7
M1(?<\3W=E:&RU57ZG^@R.4E+?Y7Q/I;7P_JMZLND^(8C:(]T;8LC&IZV(RK@
M;\V%3CKMYL5,S&_%X@9_S""YE3+KY7C"ZTD'DRQF5QAT=R.N+^A,1-*)7_;1
MQ4WRTY%["@VN?WZ@-A;?(:;04$0V&OF8LFDPA$93]DANQ3B!'@]^B  ].L,[
MK@!#6?G#V_MWH:ST-R;($RH4-70/9C^@2<5AJXO*C4A#*K[6]W'%W(Q.43IL
M;Y6/_6Z@/V#O^6SKS1-68X+&N3_C#'<#J*439\W=C5'Z_C"7!=%-NH;X8X&Q
M9.I9;^4J.N*463Q\[V]^D,F"DF_O/_.3R>PN]P65< 75LU]!ZDIQ<SE[_D)\
MW!*O\Y-@8_LWD3A,63,OHSOJO-!(R.C$CCJ@>ZKW*_>B[*\Y)$"97BA-3OI=
M\AXN/*$;3!JIRH AZN0L?E#S[0I5^2R1]5G"0>^Z4Y7OT05L9HCD(E>3D] >
MU?N^5'2F9=:$%_>^O'<[#55L.LK-$9\N)6EELM[C0JT5VV9TJ[Z#.W#QA7VY
MZ@NX(0-3\5(^=/!GT"$-)B46%:@4?E$'[2_T_QDMFXJQG[R=)S]5!&:L^0>9
M3,4:ZWZU&+^-O_E\ZW[JV+_N?C#Z8]&N"4=KN<+0V?3FZDRT[D>8[H/5._[A
MXU); !3_N9$%> .]@.<KC8S@/] $\9>P;_X74$L#!!0    ( +J ;E@'4F]P
M_ ,  (@*   9    >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;,562V_;1A"^
MZU<,F"!H@8WX%$7:D@#;B5,#26%$<7HH>EB1(Y$-R55VEY+57]]9DI)HQU::
MHD /HG;G\<V3PYELA?RB,D0-]V51J:F5:;T^LVV59%AR-11KK(BS%++DFJYR
M9:NU1)XV2F5A>XX3VB7/*VLV:6BW<C81M2[R"F\EJ+HLN=Q=8B&V4\NU]H2/
M^2K3AF#/)FN^PCGJN_6MI)M]0$GS$BN5BPHD+J?6A7MV&1CY1N!SCEO5.X.)
M9"'$%W.Y2:>68QS" A-M$#C];? *B\( D1M?.TSK8-(H]L][].LF=HIEP15>
MB>*W/-79U(HL2'')ZT)_%-M?L(MG9/ 24:CF"=M6=N18D-1*B[)3)@_*O&K_
M^7V7AYY"])R"UREXC=^MH<;+-USSV42*+4@C36CFT(3::)-S>66*,M>2N#GI
MZ=D55QD#\X2W7^M\PPNLM&+ JQ2N\XI72<X+N*F4EG5I6!-;DUFC;">=B<O6
MA/>,"=>##Z+2F8*W58KI0P";_#TX[>V=OO1.(K[!9 B^R\!S//\$GG](@M_@
M^2>2T$3\. _P^\6"(J?6^>.IN%O4X&E4\SJ=J35/<&K1^Z)0;M":O7KAAL[Y
M"9^#@\_!*?3_IG G33P=P*]"X\"'5R\BSW7/X8?=@$\9#I:BH&F05RO0?%$@
MJ$QL%>@,X4J4:U[M&OCQN8*DP3=/P,?X-$6^8 N05QM4VA@ A4DM<YVC@L4.
M5+ZJ\F6><.+TA!*N<27D[@SF-.;2NL"!6#X33&/KP]'6S1%F?K UH)[$<H'R
MT)>#B_1/>G^1NDHH#1<F8DH' DU2N)*8YAK>"Z7(ST]"4Y+N*IJJ1?X7:;RC
M::K AI]:@9_AFN<2/O.B1GB^6;_K8Z/Q$@+FNV,6!#&=7W>_/NT!?_ >-UB
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
M)Z/>1ZX"U)7]E$=Q@"*Y[UW=;/>U\(7[2+9;[CXU8HMZA>K%J]H:MP;#V63
ME/M\YQZ,K.PG,RSG1A9VF %'IZ4%^'XM4;G- QW0?4,]_Q=02P,$%     @
MNH!N6)B!^_$$ P  <@8  !D   !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL
ME55=;],P%'W/K[@*"($4+8F3]&.TE3;8!-* B@EX0#RXR4UCD=C!=M:-7\]U
MTH4BE2)>$OOZGN-S[-R;Q4[I[Z9"M'#?U-(L_<K:]CP,35YAP\V9:E'22JET
MPRU-]38TK49>]*"F#ED43<*&"^FO%GULK5<+U=E:2%QK,%W3</UPB;7:+?W8
M?PQ\%-O*ND"X6K1\B[=H/[5K3;-P9"E$@](()4%CN?0OXO/+U.7W"9\%[LS!
M&)R3C5+?W>1ML?0C)PAKS*UCX/2ZPU=8UXZ(9/S8<_KCE@YX.'YDO^Z]DY<-
M-_A*U5]$8:NE/_.AP))WM?VH=F]P[R=S?+FJ3?^$W9";THYY9ZQJ]F":-T(.
M;WZ_/X<#P"SZ"X#M :S7/6S4JWS-+5\MM-J!=MG$Y@:]U1Y-XH1TEW)K-:T*
MPMG56M/]:OL 7!9P]:,3+9VX7826N%U&F.]Y+@<>]A>>F,$[)6UEX$H66/Q)
M$)*H41E[5';)3C*^QOP,DC@ %K'D!%\R.DUZON0?3@-8UUS:/PW#UXN-L9J^
MD6_'O _,Z7%F5S?GIN4Y+GTJ#(/Z#OW5LR?Q)'IY0G<ZZDY/L?_'#9WD.:[R
MO;+H9?#LR8S%\4LXOM<8]EP8'\,!2&H:N:("-18+4"78"J%4-56ZD-MSN*46
M4G0U>K1TG-J[,E90;1&<[AN;#6IWY]XG@V57PPU5K $AX0&Y-OV7X![,N^&;
MWT(@@0R>0AID:1;,HQF-DR";IL$TB;P;I)JM5%V :%JM[M A#$0$R=)9,$EG
MP%@:S+.I]Z$L18Z'!LM.2V$[C;UJ1?8T,$+&TR283&80QRR(TI0V,88:3-XU
M7=V;*9#..!=\Z#R$Y8W25OP< L]9P!(6I/,,7L#S.$BF%" A+[QK<4]H;@Q:
M,YRO\Q(E63!E<QJS($OF03I+X-B7%1[T@0;UMN]VAJZHDW9H"6-T;*@70Q_Y
MG3YTXW=<;X4T4&-)T.ALFOF@APXW3*QJ^ZZR499Z5#^LZ*> VB70>JGHT]I/
MW ;C;V;U"U!+ P04    " "Z@&Y8-'%0,\4%  "N#@  &0   'AL+W=O<FMS
M:&5E=',O<VAE970Q-"YX;6S-5UMOVS84?M>O(-Q@:  EUL6QG2N0I)<%6(NB
MEQ7#L =:.K*Y4*1*4G'27[]S*%F6'2<=BCT,"!R1//?S\2-YMM3FUBX '+LO
MI;+G@X5SU<EP:+,%E-P>Z@H4KA3:E-SAT,R'MC+ <Z]4RF$21>-AR84:7)SY
MN0_FXDS73@H%'PRS=5ER\W %4B_/!_%@-?%1S!>.)H879Q6?PR=P7ZH/!D?#
MSDHN2E!6:,4,%.>#R_CD:D3R7N!W 4O;^V:4R4SK6QK<Y.>#B (""9DC"QS_
MW<$U2$F&,(QOK<U!YY(4^]\KZV]\[IC+C%NXUO*KR-WB?# =L!P*7DOW42]_
MA3:?([*7:6G]+ULVLD?I@&6U=;ILE3&"4JCF/[]OZ]!3F$9/*"2M0N+C;ASY
M*%]QQR_.C%XR0])HC3Y\JEX;@Q.*FO+)&5P5J.<NWFJ=+X64C*N<W2C'U5S,
M)+!+:\'9LZ%#'R0YS%I[5XV]Y E[<<+>:>46EKU6.>2;!H887!=ALHKP*GG6
MXBO(#ED:ARR)DO09>VF7<>KMI3^5,7LE;":UK0VP/R]GUAG$S5^[ZM!X&>WV
M0GOIQ%8\@_,!;A8+Y@X&%[^\B,?1Z3,YC+H<1L]9_XFN/6MO=[3OM8-@S'YY
M,4WB^)3]H&[=\NHC,.!M*5QT"V!PGX&U3!>LJDVVP)W$*B,R\/8,2.X@9YFV
M**[OP'B=.RYK%+!6S!6N.LT4\E3GFC1%CAY$(3A-B'58W(<5\.Q;+0SJ"L5F
MM<6\,89,ES.A.-&"/62?T5&A)=*34',T3MH;D6.P:@Z63/@A-^:!1'FI:^4H
MHWF;\PG[A*R9UQ("G.TJ<<4E5Y2I3Q\!#>4,,VQ!';,]%H_"230.I_$T> ><
MT(?$YU@%1NB<\?QO9(+2!S2>QN$DF09=O459<6&\. 9J*-"7\5&83J?AT6C,
M]G_@/4'O!U2#X%JC)?7@*T=_7598'=-WPYVO _97&T>%J)5P3,(=2$9$2W^J
MYI+H4MB0H?9R 0JHJ_A#6>!4KZJ9,%E=6D=AVD!G64WM1S="Y2)#8#0C<EI@
M$"TL,!F^'82P;$8'#1/H9*M13:=768)U DD=[ ZSJ!QL&9X],$+/G&H!&?<H
M+5B.9$&F$5]%[8@S<&G!"HS >G16@#GC:7>+L"WQH!"5!(3<3;'M%0.7!$U,
M=!-E@5\/^_7W/9E1 S(]5^)[@VY2:A&)P2X7(EMLPK5Q1-L0\NVL-VN#L*/C
M'NUR]@T;*1RGLS.@C'",^ZV96".DCPX/G_9S)^(.V17N_IRP0E'LUEW'X'J1
M95IELL:#)6CP@<5 )R7VA$EQ"_*A*:#2[BG(]*QY9IN<VFT0D<EU,X3KY+8!
M%5QFF38YSLB'<"-.:HW)J8#J\08E'D-*JC/8U: >G9#@'HMZ;!LT;!NR]PBH
MWC1OIXD>L4:X[0B3;;H=N:WIB98><;BW&FRW*PV^^JL-Y >7N(/QIL;>&HW5
M(>$O%HI:LM]$ <@Z^^QZE0M6ID; >U)?308O$:9_ #=VGUTV2,5_6/COGHK;
MN>!&'51&^\."6)CC8>'W4DX$HRM?R!N\7!0"FP58(.I/>GR:C,,XBL,HBCRE
M[;'U1/!>JP-D_0H0NOXR.#< #:$FAQ.&0L<CK_ER<AR':9JR?99&23@>3X+/
MVB&7/3I:R,$DC(^/6H\]3>]Z%*5>_1'\__?U_&\*.4(MS!_+@;]4F']=R+6F
M=ST93[TZU:,CCN6JAKRI85 WE9-4.>1V/,4%WHKSEH,\.=)5P#9AYUA(SWD!
MW%?X0%@3>'MT\7XA24;9)^GC<48+D/D3[)<2U>-2LRGMYHWA31/#1A=?-\X#
M:C1=J@D-&T9W2J.GT1:"]U9CMNL&.NR](4I EJ*7$EV5$$+-<Z*;[1YCE\T;
M9"W>O.3>(<D)11Q:H&IT.#D:,-.\CIJ!TY5_D<RTP_>-_US@@Q(,">!ZH?'J
MV0[(0?=$O?@'4$L#!!0    ( +J ;ECO4$?DHP(  -,%   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$U+GAM;(V42V_;, S'[_D4A%?LY-7Q*Z\E!I*VPW;H
M%K1['(8=9)N.A<I6)LE-^^U'V8F7%6FPBRU1Y$]_FB;G.ZD>=(EHX*D2M5XX
MI3';F>?IK,2*Z4NYQ9I."JDJ9FBK-I[>*F1Y&U0)+Q@.1U[%>.TD\]:V5LE<
M-D;P&M<*=%-53#VO4,C=PO&=@^&.;TIC#5XRW[(-WJ/YMETKVGD])><5UIK+
M&A06"V?ISU:1]6\=OG/<Z:,UV$Q2*1_LYE.^<(96$ K,C"4P>CWB%0IA023C
M]Y[I]%?:P./U@?ZAS9UR29G&*RE^\-R4"V?B0(X%:X2YD[N/N,\GMKQ,"MT^
M8=?YAJ$#6:.-K/;!I*#B=?=F3_OO<!0P&;X2$.P#@E9W=U&K\IH9ELR5W(&R
MWD2SBS;5-IK$\=H6Y=XH.N449Y)EEJD&<[AYHC)KU'//$-6>>=F>L.H(P2L$
M/X!;69M2PTV=8_XOP",YO:;@H&D5G"5>8W8)H>]", S",[RPSS%L>>$KO#5[
M9JE #:S.H4V8"0T_EZDVBOZ*7Z=R[HC1::+ME)G>L@P7#K6"1O6(3O+VC3\:
MOC^C-^KU1N?H_U63LX33^CY+@X,QO(.7_(-A@ =#)JGKM"$?68 I$0HIJ'UY
MO9G!/<V%O!%HCUZ2!E0ZK%)4??G@I2484#D4X4!PEG+!#:<++\!W1U'H^I,1
MK:-@XH9Q-+@F#8JGC9&*)%45UW86:)BZTW@"?CQUQT$\^$("%;5W)^68&OM3
M=^+'$$8C-QQ-!E^E8:+W[+.]@,#UQP%!I[2>AI$;16,X54COJ-$J5)MVG-C/
MU=2FZ[G>VD^L9=>H?]V[<7?+U(93+@(+"AU>CF,'5#="NHV1V[9M4VEH"+3+
MDJ8N*NM YX6D>NXW]H)^CB=_ %!+ P04    " "Z@&Y88:J/FX\#   *"
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q]55USFS@4?>=7W*';/I$
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
M6CQJ9T#[:T6U8S=Q 0Y_&N;_ %!+ P04    " "Z@&Y8UHQ_7H8'   *%
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
MR1F2!BW ]W.)A_WAAA2,G_]._PU02P,$%     @ NH!N6&2GC@D3"   I!(
M !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&ULC5C9;MM(%GWG5Q34F88"
M4!*+.QW;@)=.3X#NM!''W1@,YJ%$EBPF7-3%HFW-U\^Y18JB8MF>%YLB[W+N
M=FZ1IX^U^MZLI=3LJ2RJYFRRUGISLE@TZ5J6HIG7&UGAR:I6I=#XJ>X7S49)
MD1FELEBXCA,N2I%7D_-3<^]&G9_6K2[R2MXHUK1E*=3V4A;UX]F$3W8WON3W
M:TTW%N>G&W$O;Z6^V]PH_%H,5K*\E%63UQ53<G4VN> GES[)&X$_<_G8C*X9
M1;*LZ^_TXU-V-G$(D"QDJLF"P+\'>26+@@P!QM^]S<G@DA3'USOK'TWLB&4I
M&GE5%W_EF5Z?3>()R^1*M(7^4C_^4_;Q!&0OK8O&_&6/G:SG35C:-KHN>V4@
M*/.J^R^>^CR,%&+G!06W5W -[LZ107DMM#@_5?4C4R0-:W1A0C7: )=75)1;
MK? TAYX^_U2E=2G95_$DF].%AD6ZOTA[[<M.VWU!F[OL][K2ZX;]4F4R.S2P
M )0!C[O#<^F^:O%:IG/F<9NYCNN]8L\;XO.,/>_-^-AUWJ1%W;1*LG]?+!NM
MT!'_.19S9]$_;I&FY*39B%2>33 &C50/<G+^\T\\=#Z\@M<?\/JO67^S'J]J
M'\?VN=;2XIS]_%/L<OZ!C5VPKVMIX>>FKF2E&U:OF%Y+ME'U0V[F;KJ4E5SE
M^CT# ;"\4]5&-:TQFLU>:547&/&\NC>B=&<KA6J8I-9@**PLEU(-Q66BRBQ<
MN"?L%E23M86T8.EJ#V94NYL=(-+P+ K%2SZ0MO4O..G:[\!')V@DKEJE8/#$
M^B@SJ43!WK'8MWTOP$40>C;28MUJH26;!KYCN[[#WK.I&X:XC-E[ZVNMH91V
M5J S]8/ CIT 4N^8FT1V$'G6M5Q)"&1[+]/(=MW8#I%ZF//LQ ]L)X'MG3/7
M=L+8#IR$GB<AM_V0W%VM174OD6OV((I6=.1%J155*EEH)U%@NY[/9CVPK/=,
M!CV7VW$<DD'?3IS0#H)]!/OJL;ZJ%(QK1U%DAPDWX4 M=&([B2FZ"TM)5#G-
MB[R#@?J,C,@GK(9&,J%-M1M$U>I:;=FJS\!(5E'$J/AA"XF&B)T86M*3KHWR
M"H'F4">#LJ16L'(CVW58<]@PEWTH*U67A[U-[GY9K:0A?M-&7V"P,9W!WNR=
M3N+C\U!&8>]#-O&Y?.ZP?_3_^BH_5[19A64+Y+LTC0O"YR$L^/,8!FXDU@Z-
M LMRA('N2V5S8LT8]A&V387**T1&F=-HF7Q9#.X04=NM/<= XG,?!F?L5M?I
M=[/&,D9C#SQ=96?>/( <_H5&\ JTCE$FYV;.":GN%G$I!9$H%0;6"6YLX,[8
MKW6=/>8%LE5N1*YZ"?(_X]&<&YD_4&/%-L="8S-G[I*PL6I] 8$)E:Y-'3/Y
M@ /$QIA,T>PY^,$WSCDWEO=3T\*6TH+:"8G=U$U.P!ODP!AW?Q _-F0S'L\]
M"!OP5@?9Z>]0J/NN^K'%(R/E^B:;GZ6VANDD$<S1$L.D\SU]/F?/$1T+0ZY'
MJ9,]I\X=!9E6OV@:J;L9^&WO==39+S3\]1BO,$9.K(LT52WNC?&#.V.;@U[>
ML007/C<%P\;IG [);%CD@50\SJ(0!.CX>Q<''1BZ#MB*@Y%#VXE"Z[8_M_'(
MAR#MF<CV/#"5FS /5.G >6+]AF:4 ZXMBWS7YO 5@Z&3Q+K[_.GJXH;YQ+X>
MXZ#;Q NMSS1_&]/1R#?.!*B&4&J+O?4H5(;.LATL@M#A(-DWVY#;81S;;A ,
MC'ROR&3V/).,@[I# XT%R)EONSQ #) ^UH93D+T78S_1AGA&]R.S,8@_0M:<
MD=7K%QKOQ,(R1?!(%D4D_VYS$T]'2],P<FV?FPT2.@G08B]8GP:":79BJ)5K
M@B;!;F=P'Z(W2F+VD<.IYR9V1!N-37F F@8>'IM3/S5U2PQ*Z+$G/6Q:U[A,
ML+XBDNMFCAI$R36] ^QG;0IQWVQ?+$V;.WP0GQU/TKAKI_M4O:<-'82(PG%A
M@IKBJ-H6'3[K-J7/(ZS&B%:CMIZ-I6T&F0XPHMJRM<@&AJ_>:C@DY!W:$^1!
M3(V+Q##-Q>T5 MKD*?K:F7%GAK 550R'.SCK%R^Q;6J2*@XH#TN%T0*_K_+_
MOKY?6;[JS VJ6+@EM@R2\%T66PL/*U;5QLE24A -WDW L;!++=MB$NQ^K]2=
M'RW3=96G\%-B38W.EKV+.?NC52#K$<+Q(ER*HF,/5+UH:4,C0:A;C(,;9W16
M2G#NB@X(\&YLC$BP/QLT+Y'=W0O>F]V99BGO\ZJB>'OT=*0U2';^#:HPLN/
MLWXU<P_ BE@)^VPX-!JUPW7D1AZZ+R%U' R#Q#FBOE$YCM)'E,&1W(T8B-7Q
M@EXQD_^'(H;-L6/?-6.+<U]BQN?5/.#\3M$/D>]J,,H"$026.+8940HX711F
MVM!RI#8C$WU!2<T!=X<NKCK\YB5D-S9HO*9=?@/Y,UT3EHX4^^:]JW(Z*IJC
M5;=G:C/YII79MU;E39:;O=',R:P)IGL-,>?#'V?6@555M_?KX8DU+%D<<>@0
M0=\_"(I\$GC_[M#0"\Z10^ZF5<AT#VRY-8@[?*7X5IM24"L=P"33C^L<^V5$
M'M8^"UT8H^S0%/9M56PQ/T!Q@&U)O+[=^1*M7M<8O^V<'7L[78R^'&!,[\WW
M$3J;M)7N/B(,=X=/,!?=EX>]>/?]YG>A,"L-*^0*JLX\"B9,==]$NA^ZWICO
M$,M:Z[HTEVLI )\$\'Q5XT6U_T$.A@]3Y_\#4$L#!!0    ( +J ;EB#\Q>4
M4P<   H1   9    >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;)U8;6_;.!+^
MKE]!N+WB%E#](CFVT[P :=+#%==NBZ2[B\7B/M 291&E1"])V<W^^GV&E!0Y
M<0+<?6BM%\YPYIEGGJ%ROM?FNRV%<.Q'I6I[,2J=V[Z;3&Q6BHK;L=Z*&F\*
M;2KN<&LV$[LU@N?>J%*39#I=3"HNZ]'EN7_VU5R>Z\8I68NOAMFFJKBY?R^4
MWE^,9J/NP:W<E(X>3"[/MWPC[H3[9?O5X&[2>\EE)6HK=<V,*"Y&5[-W[^>T
MWB_X58J]'5PSRF2M]7>Z^9A?C*84D% B<^2!XV<GKH52Y AA_-GZ'/5;DN'P
MNO/^+Y\[<EES*ZZU^DWFKKP8K48L%P5OE+O5^W^+-I\3\I=I9?W_;!_6GB0C
MEC76Z:HU1@25K,,O_]'B,#!839\Q2%J#Q,<=-O)1WG#'+\^-WC-#J^&-+GRJ
MWAK!R9J*<N<,WDK8N<MK7572 65G&:]S=JUK)^N-J#,I[/G$80M:.,E:=^^#
MN^09=[.$?8:'TK(/=2[R0P<3Q-8'F'0!OD]>]'@CLC%+9S%+IDGZ@K^T3SCU
M_M+_)V%V(VVFM&V,8']<K:TS8,U_C\$0-ID?WX0ZZ9W=\DQ<C- J5IB=&%V^
M>35;3,]>2&'>IS!_R?O_7K,7W1T/]F?M1(1JOGFU2F:S,_8R;)\$&B/ZLE9R
MPZG9+/M6B@@V6U[?,T5O89:#OY(PI4:,V>T;7FW/;F)FN1+!*W3ANR"_[5W=
M%"A 8^@)KJ22CK9KP"W#:EV_S7B=H:/Y6@D&H2+76-IM"!_A,AJNVTM7,ET+
M5A%3X<;)3(PI8M9%+'Y ],B%P\-@ZTU;Q[+V+["?U#GNLL8801<0F4R;G S"
M-GX9D4AF7$7D-I? D'E5$OF8W83D:-V]X(:![J):([N.\K%_UP7&40'T%7-[
M_31?IQ&XPP)OXA\R)TSE@<"N(@3I=$3F-13SL8LQNP)L$%L+43O<V8A,;VKY
M%USP/)=49:X>.V!*\G57)=H5:,#95M<YK7E8;4@LW^KB;0/><&L%:*4+]IJE
M<3)-X]E\P2"Z40]+R/H(.!G"0RWK8!^":*O'.+HX#)L0MF6%5IA"]AV[PW#+
M&R4B&'GRL@_!*/J=MOMP?+OHRZ-T,VVQ\6NVFJ7Q<IY&=Z4V[JW'?+A@=KJ*
MD\4L^J8=,#LTG<7361)/IW- 3]$\0P#,'S#%XXI%@\+X!EV>V6,%0/[/)?UY
MX*_NBQR@^/3@HX>#<AZ&%B&T.<(_/5W$B^6";D]\+JLX7:5TNV#+V3Q>I%.Z
M6;)T.HU/3H%!"1KRPI&;Z2J>+Y(#6+;\/HA,&J?I"J FT2=A$;RLMHT+_(4#
MZU@Z7\6SY4GTE30++;7CJA$$SDN<3.+34\2Q6+9>?>?">(NZT2%AE5+\>*OK
M3:AC]^8U;&<G^+>:LB_ WT2R#F>B<#Q1G*)S1]IRCQH\5P;OB7T<>+I]\/3
MMJ"O+U+SFML2Z,D<&YFG04"D5),'D7IXF9%106%1*4_FJ%\:W0HZS#W@YV%X
MBBM*-%Y&-#!U P3QZACZEBW&"?L'..7:V7! +XH5\]:B'8;S!!UKO>8;7;%,
M<5G9F)%,6.O9$3/5^XM9@8%&[Z$WZ&&N>O71'EVK&Y.U[4 J9@B&?2EJ)AV3
M%OJLUZ3N4!ONH'X=7^Y9B;*M!2WL))ZWXLHKGS1& Q; *[>0P[7"Y+!.5MQ+
M^R>Q :U#GP]G!%*MVS.IGQ%/\X\HU%;%O&YUYN.#N2I)JW$"A3AR!$-3";H.
MN."/APT"=FW81@@L-W+G!W"[Q(8U80@A_Z'F YFJ41O/QX(KDE0:R]*BM*0(
M$9T7+)&_'T"(U 36^,F'R>I)T: ,3F??_9(*?L$2H+46M2ADV%07!5:;$&PN
M42FGS6.U"V-ZBX@!5U%8Y(-30A[1& !:'";W+.<5OB<LM-\Z+ P0=E/M.?GD
M2HD-$<.@]7-->- \K[M2(_ U9:1WX /A9"17!Z>&B.JAK,966VY 'YCX@LB=
M5!W:L3]YM >(7^YZ0@6J=L]K29#_1U(DU9A]X%G9Q7W@C2A WR0YB?@:P&<E
MJ0J1B0X=??DW@,&ZIT!VA5X+)<4NG'=(,?G>-M*%EB&.XFN.56".\_&2!->Y
M+W=@7WM,(@KLY$8;W5AU/XZ&.T@ZM?DS%)U2VB:AHG"0WH]N=$',9($=[N-
M10B+RKNR[:'ZM(\1;2FH-/D.A!$D .BT7&32?RL&%&T;TCBZZEF4MR+E2DFT
M)6T_/.7D&CG@1-@A\D@B^A;IG ,=I;H0 U^:NN [;<*1M'%@ICACI=[#FXDC
MG^"Q-6V"F!\9>OU1#G$7!T"2PSBHF7RA/51K?TX0Q$Q/OB,T#Z'ZDT:KU)Y&
MPP/M/^U/]&!?2K".0+$-T:\-<RWH9P")/USZ@N)NS(Y]WTP&WZ>@T<9_A9/F
MH;'"IVK_M/_0OPK?MP_+PU\)/G.S 9<Q7 J83L?+DU$X3'8W3F_]U^Y:.WP[
M^\L2:B4,+<#[0N/+IKVA#?H_?US^#5!+ P04    " "Z@&Y8[M@MH70#  "5
M!P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6R5E=UOVS80P-_U5QS4
MH4^"]6''41/;0)QV6!\Z!'&[81CV0)-GBXA$JB15-_WK=Z1L61T2 WNQQ>/=
M[S[(.RX.VCS9"M'!]Z96=AE7SK4W:6IYA0VS$]VBHIV=-@USM#3[U+8&F0A&
M39T6639/&R95O%H$V8-9+73G:JGPP8#MFH:9YS76^K",\_@D>)3[RGE!NEJT
M;(\;=%_:!T.K=* (V:"R4BLPN%O&=_G->N;U@\(?$@]V] T^DZW63W[Q42SC
MS >$-7+G"8S^ON$]UK4'41A?C\QX<.D-Q]\G^J\A=\IERRS>Z_I/*5RUC,L8
M!.Y85[M'??@-C_E<>1[7M0V_<.AUBZL8>&>=;H[&%$$C5?_/OA_K,#(HLU<,
MBJ-!$>+N'84HWS/'5@NC#V"\-M'\1T@U6%-P4OE#V3A#NY+LW&I3,8/PB&UG
M>$79P8/1>\.:1>J([G52?B2M>U+Q"BDOX)-6KK+P00D4/P-2"FN(K3C%MBXN
M$M\CG\ T3Z#(BND%WG3(=1IXTU=X'[YVTCW#WW=;ZPQ=AW]>2K)'S%Y&^!:Y
ML2WCN(RI!RR:;QBOWK[)Y]GMA0!G0X"S2_3_=1@722_'^;MV&.53>/NF+/+\
M%EYS!Q]5](F1S!>^2,!5"/>Z:9EZ#J;7MQ:VFAD!>@="&FHP;2RPSE7:R!\H
M@($-;'-FMT>VJYBC3NUJTJII)(SIX/38I&LC$OP"TVR2 ?5@Q#C7G7)2[8&4
M6FW1)L!UTU![4Z?PIY&U@(ZNH0GX_^X-P4A+4JX-W=?0VV34$LO;T U1EO6C
M0S"'/E<O9VU;2\ZV-4:D(G "FXXJ-78<<J=Z4 $JI#PE$6E@VLX\ U,B;(13
M4<Y[M#X?C^;:.FB0JB@F\+DBA3%*:4=>')5;#!2N:3I2EB@B:6WGL^A<T*3Y
M:QVI$3NP8*=]M8,K'SR1]<'V;BNF]N1D'&9?,9KY0:-%([6PYZ!O8$.O@^BH
M"%26SR>KC;>*_D)F^AD040=CLZ53.'5QM&8U4QP3V.)>*N7C(4+O *9)6>;)
M_*J,SI?2^OV?SOC=_#K)BNR,0B5&D%E2SLID?EW"2QV9CD9E@V8?'@0+X5[U
M4W.0#F_.73]JS^K]@T4M0BE8J'%'IMGDFD:\Z1^!?N%T&P;O5CL:X^&SHG<3
MC5>@_9VFACPNO(/A)5[]"U!+ P04    " "Z@&Y8+)>HYX8#  #7!P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6R554UOVS@0O?M7#-1%3X9ER6X:
M)+:!V,YB>VC72+K=PV(/M#22B$BD2E)6O+]^9RA9=0'7: ^)26KF\<WC?"Q:
M;5YL@>C@M2J570:%<_5=&-JDP$K8B:Y1T9=,FTHXVIH\M+5!D7JGJ@SCZ?0F
MK(14P6KASW9FM="-*Z7"G0';5)4PQS66NET&47 Z>))YX?@@7"UJD>,SNK_J
MG:%=.*"DLD)EI59@,%L&#]'=>L[VWN"+Q-:>K8$CV6O]PIL/Z3*8,B$L,7&,
M(.CG@!LL2P8B&E][S&"XDAW/UR?TWWWL%,M>6-SH\F^9NF(9W :08B::TCWI
M]@_LXWG'>(DNK?\/;6<[(^.DL4Y7O3,QJ*3J?L5KK\.9P^WT!PYQ[Q![WMU%
MGN56.+%:&-V"86M"XX4/U7L3.:GX49Z=H:^2_-SJ"4OA,(6=,.X(GXU05GB]
M[")TA,]68=)CK3NL^ =840P?M7*%A4>58OH]0$C$!G;QB=TZOHJXQ60"LV@,
M\32>7<&;#='./-[LEZ.%?Q[VUAG:_7LI\ YV?AF6"^?.UB+!94"58=$<,%B]
M?1/=3.^OD)X/I.?7T'_QB:YB76;Z23N$: YOW]S&470/5U3Z7"!L=%4+=02L
MZE(?+6B%4*.Q5&-MH4%:*M8.P.E1TAB#RH$VP!T$#> K)@V7(N@LDPDY3H!J
MOX#'7"CV=M_N\(S>WUO82D-E3" Z@V=1H@6A4O@HS LZJ?*QW_:^3(3,MBT7
MY(A1QQ<Q=R2 3)D<.V\*B1D\#N3^[,CUWX2D#N!A&6FMA4DGL&T,W>U/CB@H
M,LYZH)S%:D^>I[P=C]C":2=*2(@#=33A.U(M)&M$ ,2\4W ,4B5EDS*N%:4P
M$NT8]EHUEA=,AL%R>A,'*8D,&5&#@R@;UA/P:R/IS41+!"T]ATP*.*!U(WT@
M1JXPB"/F:F$ZN:&_"#XH>&AR:C0=UW.E*""'AD*2BEB*$:<+:4+:YX13L7*M
MI(?;Z&=AQ&61>T(5/;!F(";#GF-H2"W34^P0H#;Z0"]B@81W-%" 4U08,J#
M1RD>:(;4_MZ$DI'Z+LO$FMBFKK5Q<&+X\V_S7;R48SI7\C^R_(W$B>%2]89G
MS9;R.?<CA2CK1KFN[PZGP]1ZZ)KU-_-NY%'^YI*JJL2,7*>3]^\",-T8Z39.
MU[YU[[6C0>"7!4U>-&Q WS--I=MO^()AEJ_^!U!+ P04    " "Z@&Y8W*SS
ML L"  "T!   &0   'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6R-E%UOFS 4
MAN_W*RQ7ZM44@TFZ+@6DI.VT7;2*&FV[F';AP$FP:FQJF]+^^]F&L$Q+H]Z
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
M#J9_CZ7DC#"\@17$=]"L/?0JR.#K'^%5DCX6'WO3N.N\FH]W7KVGSE<J%]G
M<T]OV!%+\1O3[WU9:TB@X_1/"32>-!F?]*#$4'29?'C"0O4G:DMGGXF)=@0*
MW5L!_K21[&4V%?-;L;C!ARDHUU(F'1V7^CCXR7";<38&W=V(Z]FHR+ONG?EX
M]P[UDG/KQT?KWJ+7LQ_(@U&>/RCI;R.;C) 5/U&QG]_?(L>H"!)7\BG.^8!C
M*TT8)^JHM01=-/@IP(C!&=YQ <5797YZ^_#.5V5<:R/Y@4+ON(=VWP/SV>&!
M &7K 2P7_$K%QQ5G$'1*W\)HBG3H[=*NO:S+NFHO=;<:XSE.70^-[XRCPG>8
M-;5OZ]#U0\3E25?Q&L*+FD.0S^5FA2V(4.:3A-:SKD631.:9?/OPB>],IG>I
MB$L)XMEO2#UR<7,Y??Y"?-Q2]N$FP<9V3P(VF+SD[('>#^2%AK2!.D+HG&A/
MY;+"/BB[)K\H3,8O\T1];A9B]A<>@6).;2@7AB#*J->K5YG89:IP&"'I,((-
MO.M6%>XDPT=F#I!<(]*D)+1'Y;XK:%C1,K;'@WM7';,[#5::>)2=(]Q=2N+*
M))W&^8I J-_3&XTMU(%+!-B7JZ[,T,\35'@A$CRX'B</@J)" )51R/P"#]J]
M3/FUY.%\R!%=1#^5 7>VYA\$X7RA:NRO9H2KX4='WMJ?VN@>M[]8\G-6KRDX
ME7*%H=/SFZLS4=L? ;%?&KWC']Y8Z@:^DS]N9 ;02 _@_DH##K@O-$'X*98W
M_P=02P,$%     @ NH!N6"2#1/K9 P  " H  !D   !X;"]W;W)K<VAE971S
M+W-H965T,C4N>&ULQ59;;]LV%'[WKSA0BZ(%V.AJ67)M TG:; 5:(*B3[F'8
M RT=VUPDT26IN-ZOWZ$DVTJ6N+L\[,$R>2[?N9.<;*6ZTVM$ ]_+HM)39VW,
M9NRZ.EMCR?69W&!%G*54)3>T52M7;Q3RO%$J"S?PO-@MN:B<V:2A7:O91-:F
M$!5>*]!U67*UN\!";J>.[^P)7\1J;2S!G4TV?(5S-+>;:T4[]X"2BQ(K+60%
M"I=3Y]P?7T16OA'X*G"K>VNPD2RDO+.;C_G4\:Q#6&!F+ *GOWN\Q**P0.3&
MMP[3.9BTBOWU'OVJB9UB67"-E[+X1>1F/742!W)<\KHP7^3V9^SB&5J\3!:Z
M^<*VE1T%#F2U-K+LE,F#4E3M/__>Y:&GD'C/* 2=0M#XW1IJO'S/#9]-E-R"
MLM*$9A=-J(TV.2<J6Y2Y4<05I&=FEURO&=@O?/A6BWM>8&4T U[E<"4J7F6"
M%_"QTD;5I67!ZQN^*%"_F;B&[%L4-^ML7;2V@F=L^0%\EI59:_A0Y9@_!'#)
M\8/WP=[[B^ DXGO,SB#T&01>$)[ "P_9"!N\\$0VFM ?)P1^/5]0"JB'?GLJ
M[A8U>AK5SM58;WB&4X<&1Z.Z1V?VZH4?>^].^!P=?(Y.H<_F-*=Y72#()3Q=
MS2:BSUS=H;&EHVK>HS:VFC#'K%;""-1/A772\--AW:QQL)0%S;JH5M#:TVNY
MU6#6")>RW/!J]^I%$OBC=QJRQE_[!7S<?>7187%T6!\<AL4.M%A58BDR3IR>
M4,8-KJ3:C6&?G,%_2\Z &@W+!:I#LPW.\]]I.I%:16H#YS9B&A8$.B?A4F$N
M#'R26I.?-]+0"-U6=&86X@_2^(G.2@TNO&X%WL 5%PJ^\J)&>+X#?^ACH_$2
M(A;Z(Q9%*:W?=K\^[0%_\ GOL0!_/*#)Q%V7=%C65:[!]]@P35D4I 3RMK_M
M<P;S>F&:$/^F?&LR& ]NS^9G8"@MNE:[?F6CD$5)Q!+?LS!1S$:>9XDQ97_8
M$(^;H_E_I-46Y24,$Q9Y/HN3I$O57K%A#:.$A0W+CUCJQRP9V4T/YW%C!/]K
M8_RU&_R )6%$Y8YZ[?" ^%#B=$-0;L)A5]UN?:#U^N"DV(_+'X]8DI)7P9
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
M6(H5D>8THID/ZZJ51N,8-T&YTQ+_,I33TP]"9"M6EH3RC%QS3?F2+4H@,Z5
M*W)\3W&E>F-?HS(CXJ=KX'D+'+T '$;D1G!=*/*.9Y ]!_#1RHVI46?J/#J(
M> 7I*8E#CT1!%!_ BS>NQQ8O_G>N7S&5ED(U$L@?LX72$A/HSWT\M%KZ^[68
MHCI7-4UAXF+5*) /X$[?O@F3X.* #_V-#_U#Z-,[+-*L0:-%3CI_]MEX$&6_
MC1VTLP/MS&E)>0J$*J,1(P+5 F07E9 <D;#O#8/$&X4CYP:HH0]+6),:)!,9
MH=E?F--F1Y%D%'K#:.1LXL"JFC)ICZ<%E4O _ L'7CP:>8-^0GH_T1ZA]A-R
M@-3!AM3!JTG](2\\\A'T/HH/8VYQ'+K&X=AR4X'M36G(C"Y= ,E%B7V2\>4Y
M^;D9SO<4Q,X7VX8@.YD]@,2N2CY(H90]_%E!WI3D5Y8#\MHCEU3*)]1$9FG:
M5$U)C1G=IG/,./D=J%0],JM$@S'!E]3L;VJ[:;OG7/.36HH44(5)'"K3PI93
M!@_8[VL;RVNL_YQQI@$#]/;-*(K/+J+$"X/0"X+ !NV(;#><CX*?I**J0;.V
M<2\E0)LRT>F0X*&SOI4\'IZ%7AS'I$?B(/*29.C<"TTQD;9LM60;!4,O/!NL
M->Y(6M7](+;B/Z34_Y[/_X;(/DJA_T@'/@TQKR9R*VE5#Y.1%3=\S/&RQ+SF
M9-5Q2%L.G:9EKC3,@=)XQ3"\P;)U79LRH.FWAJG6[ R)/#U0ULFFK)-7E_7[
M1IO&_BP$[QYQTE&PK[8/ N]OG_<%.("(J<F"O%5'.6^05;JK%5JMG>.7&"_*
MGTR9A,,+M2<"!939"QTP)DR97VT34=L6XAQVV3&):>YID[W/0/>>1DW][RKN
MJ%OO[;_^SGQ2 39V,X4I;'Z8\NVHLMG=#'JS=K[9'F^GQ!N\%QA7I(0<18/3
M(;9=V4Y>[4*+VDX["Z%Q=K*?!0ZK(,T!_)\+H;N%4; 9?Z?_ %!+ P04
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
M8-YR!%G @NE* Q,Y7%6\-9C#WU(.\3^>X7.)7B$Y=28A@;'G3IV629%5= /
ME BBK5$Q(Y5+;BTY"DDWT=E:34R,A(SQK.7,H&V1*G.^^98H[E\Q[6I.PP0>
MR:X![44!.F:L5ZB\W5$[ %K$Y["K@O>?5?!<O(WUOKL4UW^DL+=IS^733I[W
MB28@EUH'P#05H9'*XK^$DV04)$D<C,]&<&KWPS2(DW$0IQ,X]:Z>BN%]<R.
M@M@]8:ZQ$TN 74WB29"D9\%H,K$<TC>3((K'GA-"@PFP*&A2V;.FIL_N0#9V
M;%'TABG%A.ETWRZ_:'@-KSVG53\=@*P;*LBQHA_.OW#<#KA;I8,XZC1'@W1D
MU3Z/?L#]4 N$>Z.**K]V UD3_5:8;FKUUG[F7W2C[LF]^V%\9&I="0T<"PJ-
M!F]&/JAN"'<;(QLW^%;2T!AURY+^6ZBL WTOI#2[C4W0_PGGOP%02P,$%
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
M<VAE971S+W-H965T,S8N>&ULO5G;;N,V$/T50BV*72"-15+7U#&0.+T$:-K
MV6T?%OM 2[0M1!*]%&UO@'Y\24F1K(NY4:HT#[$NP\,SHQG.D3@],/Z8;2@5
MX&L2I]FEL1%B>S&99,&&)B0[9UN:RCLKQA,BY"E?3[(MIR3,!R7Q!)FF,TE(
ME!JS:7[MGL^F;"?B**7W'&2[)"'\Z9K&['!I0./YPB):;X2Z,)E-MV1-'ZCX
MN+WG\FQ2H8110M,L8BG@='5I7,&+.49J0&[Q5T0/V=$Q4*XL&7M4)[?AI6$J
M1C2F@5 01/[LZ9S&L4*2/+Z4H$8UIQIX?/R,_DONO'1F23(Z9_'?42@VEX9G
M@)"NR"X6"W;XC98.V0HO8'&6_P>'TM8T0+#+!$O*P9)!$J7%+_E:!N)H '1.
M#$#E -0>8)T8@,L!.'>T8):[=4,$F4TY.P"NK"6:.LACDX^6WD2I>HP/@LN[
MD1PG9@_%XP-L!1ZB=1JMHH"D EP% =NE(DK7X)[%41#1#+R[H8)$<0;^()P3
M%?WWX$?P\>$&O/O^_70B)!N%.0G*F:^+F=&)F2$"=RP5FPS\G(8T; ),I!N5
M+^C9EVND1;RAP3G \ P@$^$>0O.7#T<:.K@*+<[Q\ F\>\["72# ;5I4F\K:
M3[]+(W K:))][@M9@6CU(ZJ2OLBV)*"7AJS9C/(]-68_? <=\Z<^=T<":SAO
M5<Y;.O19F4"9+/6 1GNRC&F?OP6(G8.H%6<_LTT+.=9TLC_VI&OFV#9"EE_9
M-4C:%4E;2_*&[99BM8OE8E*P[:-80#A'<\LE$F.O1;%KADW?LY'33]&I*#I#
MXW@&4BKZF#H]%+!_Q*!@VF-FV=A5)=/'U*V8NEJFM^F>IH+QISYJ;F=.Z#B6
MB^P6MZZ=C:%IN2>X>14W[V7<SL J2B.Y7(9@S5B8G8$U9UGO<_<Z5%S3M!RW
MQ;AK!C%RCU.XP=BO&/LO9<S)0:[X@O*(Q#K"?H>)[UC(;B=JUPS['D;FB5J"
M9MU)S)=1!N5RTLNR!&G4D^N8)H0MGCV&Y@F*1\T.ZBDF6Q)QJ4($"#:$KT]0
MA)J92W)=$VACS[.M$_4.4<T1:3G^RE4#7NW24'5?3F50=[UK9XG3*!;/5']M
MLMH)7]D(8-T&H;;1R+ZZHIS+BM/Y@GO6KCY7WJ*GP;JI07U76TA,PH,-(&DH
MQ>)>JN"MRJ9>E[I-"R'?0;:/VTYU+:%K84_VCQ/)5#<XJ.]P\UQ!4IZ!3W<T
M65+^&?P#GB^".4L#R9X7VF0198_'9E7K652MI[K=Z["6RE#Q,A9:,W!UVX7.
MZ.(-:EOYX ",A-8,0-W-H;Z=-W.#J]S84JXNR;>[7N\+//]XU3SO+.IZHR;7
MNKM#?7O_<&#@?\UT+9W!#WHDM&;P:J$!_?$S72M>!@=@)+3F2V.M6Y!>MPS.
M]!)/G^G?,&IRK04,T@N8_YKIBZ(%@VN:!AOYXO^HS7,]F:&/>2RT9NAJ7870
MZ'F.1E).90#>0H>A6H<AO0X;GN>X)X51^WU"/^MKO:HE&=)+LC_E ZR2_\T+
M0LME<#Z,A-:,7*T-D3U^08RJ\<9":P:@UGA(_VUE>$&,*O!*M&9Y8?=$BZB%
M&](+-U40^3ND>GV\6LN\?GK[NM!2&AR8D=": :S5)/+&KXM1%>%8:,T U(H0
MZ;\]#:\+OY/)'3GT%AH/UQH/?T/C59KI UM3L7E5KQCZFJ#G-/AK_DAHS0C6
MRA/#\7<S1M6/8Z$U U#K1ZS_+C>X*DJ\YOKNM[\?]UHY[1>%R=$.GTS4=;[Q
MF8$\'XL-LNIJM;EZE6\IMJY?PXMYL45:PQ0[MG>$KZ,T S%=24CSW)7-F1>;
MH,6)8-M\'W')A*R6_'!#24BY,I#W5XR)YQ,U0;45/?L74$L#!!0    ( +J
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
M#Q8\RPW4]_=I*I\.\A-44[#3_P%02P,$%     @ NH!N6, BD\*Z!0  4RD
M !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULS5IM;]LV$/XKA#<,+9#&
M$BGKI7,,M F*!6B'H%F[#\4^,#8="]&+2])V"^S'CY)5T:JHBV5Q0;XDDGQ\
M>/?HJ'MTXG27\P>Q8DRB;VF2B8O12LKUZ_%8S%<LI>(\7[-,_;+,>4JE.N7W
M8['FC"[*06DRQH[CCU,:9Z/9M+QVPV?3?".3.&,W'(E-FE+^_2U+\MW%R!W]
MN/ QOE_)XL)X-EW3>W;+Y*?U#5=GXQIE$:<L$W&>(<Z6%Z,W[NM+KQQ06GR.
MV4X<'*,BE+L\?RA.KA<7(Z?PB"5L+@L(JOYMV25+D@))^?&U AW5<Q8##X]_
MH+\K@U?!W%'!+O/D[W@A5Q>C<(06;$DWB?R8[_Y@54"3 F^>)Z+\BW:5K3-"
M\XV0>5H-5AZD<;;_3[]51!P,<+V. ;@:@(\=0*H!I QT[UD9UA65=#;E^0[Q
MPEJA%0<E-^5H%4V<%;?Q5G+U:ZS&R=FMRHO%)F$H7Z)W-.;H,TTV#+T1@DF!
M:+9 [V-Z%R>QC)E +ZZ8I'$B7J)7Z-/M%7KQZ\OI6"HW"K#QO)KR[7Y*W#'E
M%9N?(^*>(>Q@8AA^>?QPW!P^5L'7#.": 5SBD0X\'?595]@?&!4;SA9(Y=U'
M-M]P'F?WI=6?><;K"V^IB 7Z\EY-@*XE2\4_)G+VWGAF;XI5^UJLZ9Q=C-2R
M%(QOV6CVVR^N[_QNHLH26(,X4A-'(/39!\H?5#K<J>01!0=5BGPZOSU'DI>4
M?4>*PV1/:)9+)HSILI]F4DY3/':V,X_XQ)VXSG2\/8RV;3@)<1@YOE\;-B+Q
MZD@\,)+#%+C.UALISM![MF4)<M&7#RR]8]QX*T'4OK?2$EB#@$E-P.19K8&)
M3>(L@36(\VOB_*=9 ^ TYB"0B8SA. T>@IJ'X,05A,$5!*+V301+8 T"PIJ
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
MN 62@C &^OF:<_4V,2<^S0E?_#]02P,$%     @ NH!N6(X#^=6D!   9B
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
M)$60H+L/P3[0TM@F*HDN2=G-?OV2DJ)+3,OV0GVQ=9DY/',T' XYV3/^36P
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
M"R@EY242L)E;5\YL$9C\)N$'A;T\:"/C).'\W@1?LKDU-H* 0:H, ]&_'2R
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
M'YM[B3._5\FJ&KBJ!"<2\J5W,[E>+8R]-?A2P4&=C(F)9"?$DYG<9DLO,$#
M(-5&@>)K#VM@S @AQH].T^N/-(ZGXZ/Z)QL[QK*C"M:"?:TR72Z]2X]DD-.6
MZ0=Q^ Q=/'.CEPJF[),<G.WLRB-IJ[2H.V<DJ"ONWO2YR\.)0QB^XA!V#J'E
M=@=9R@W5-(FE.!!IK%'-#&RHUAOA*FZ*LM42=ROTT\D6JYRU#(C(R09RD!(R
M\@![X"V0LPUH6C'U/O8UGF4\_+3373G=\!7=24CN!->E(A]Y!MGO CY"]J3A
MD705CBIN(+T@T\DY"8-P2AZW&W+V]OV([K3/P-3J3E_1/0:;2U&3-3)+_%*P
M"KHD:YM_D.3;S4[9]>]#F7#ZLV%]<ZNN54-36'IX;13(/7C)NS>3*/@P0C_K
MZ6=CZDE?,^G"."<[*"K.*U[@U\HH3V$(>51T&)F,T,Y[VODH[2U/L7,H(!DF
M7 N"Z@U]P3NNE<M_VF5<#4$[[<AJFV:S3Z;A?!'$_GX *>J1HO]#*B0U8PDI
M8/_(AL"B ;"KR\75,-FB)UO\8VF!9W^IJU.<GY)$X6SV)XE_TC PVX5MBXJD
MHN7:]8Y^M>^\-Z[A_#)W;?N.2OS>%&&0HVMPL<##I6N%;J)%8]O/3F@LK1V6
M^/< :0QP/Q="'R?F@/Y_E/P$4$L#!!0    ( +J ;EAAGW<R+@,  (D)   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;*U646_:,!#^*U8V3:W4$N*$
M0#J(5$JG[:$3*NKZ,.W!) >)FL29;:#[]SL[D $-&=+V K9S]_G[[GQG#S=<
MO,@$0)'7/"ODR$J4*F]L6T8)Y$QV> D%?EEPD3.%4[&T92F Q<8ISVS:[?IV
MSM+""H=F;2K"(5^I+"U@*HA<Y3D3O\:0\<W(<JS=PF.Z3)1>L,-AR98P _54
M3@7.[!HE3G,H9,H+(F QLFZ=F[M VQN#;RELY-Z8:"5SSE_TY$L\LKJ:$&00
M*8W \&\-=Y!E&@AI_-QB6O66VG%_O$/_9+2CECF3<,>SYS16R<@:6"2&!5ME
MZI%O/L-63T_C13R3YI=L*EL_L$BTDHKG6V=DD*=%]<]>MW'8<W#\$PYTZT"/
M';P3#N[6P35"*V9&UH0I%@X%WQ"AK1%-#TQLC#>J20N=Q9D2^#5%/Q7.\%C$
MJPP(7Y QDZDDK(C)),U6"F)RST21%DM)IB#(+&$"R,4$%$LS>4FNR=-L0B[>
M7PYMA4PTGAUM=QU7N](3NSJ4//!")9+<%S'$AP V2JAUT)V.,6U%G$#4(:YS
M16B7N@V$[LYWIRUTW#JLKL%S3^ U!.[[[5PJ@<?V1U.\*CBO&4Z7\HTL600C
M"VM5@EB#%7YXY_C=CTU:_Q/8@7*O5NZUH8=?L?-D7,HKPB26><F%.DYPI;B"
MZ1D8W6O6X;7;<UTZ\'M#>[TOI\'2\:@[H%Y06QYP[=5<>ZU<GTV1XSEG:Q#8
MLXC4F4+JV!C2J(ETA>?O4:&!Z_F](#CB_-;0=;Q^T*6#9LI^3=EOI6PJ$QL?
M@<4".Z$N6^P1T0OAI6Z+R'W#A&"%J@KY<?8DFW2T;M)\0DC32?MWG(,H].LH
M]%NC8"I*DI7$W"E.(IZ7V*](O&U;L*N^$JO/Y+0I!OUS<_G6L#V7@UK%H%6%
M[K?1F60KI,%!#73H$=$&HV['ZS6S#&J6P=]/W-E!#<[AV6#4P-/>N]5R$$MS
MV4M,]JI0U<50K];OB5MSC1ZMC_&=43T+_L!4CY0')I9I(4D&"X3L=OI8MJ*Z
M^*N)XJ6Y.^=<X4ULA@F^E4!H _R^X%SM)GJ#^O45_@902P,$%     @ NH!N
M6*VRY[6F P  &A(  !D   !X;"]W;W)K<VAE971S+W-H965T-3 N>&ULS5A=
M;],P%/TK5I 02+#$29MUHXVT=B F,:A6#1X0#UYRVUI+[& [Z_CWV$Z6)EL6
MF!3$^M#ZZQ[?<WQO_3'=<7$MMP *W68IDS-GJU1^[+HRWD)&Y '/@>F>-1<9
M4;HJ-J[,!9#$&F6IZWM>Z&:$,B>:VK:EB*:\4"EEL!1(%EE&Q*\YI'PW<[!S
MUW!!-UME&MQHFI,-K$!=YDNA:VZ-DM ,F*2<(0'KF7."CQ<X- 9VQ%<*.]DH
M(T/EBO-K4SE+9HYG/((48F4@B/ZY@06DJ4'2?ORL0)UZ3F/8+-^A?[#D-9DK
M(F'!TV\T4=N9,W%0 FM2I.J"[SY"16AL\&*>2ON-=M58ST%Q(17/*F/M0499
M^4MN*R$:!IIHMX%?&?CW#4:/& 2506")EIY96J=$D6@J^ X),UJCF8+5QEIK
M-I2995PIH7NIME/1>R(891N)<A!HM24"T*M34(2F$GTF0A"C\FOT%DG3)Z>N
MTI,:4S>N)IB7$_B/3(!]=,Z9VDKTGB60M %<[6WMLG_G\MSO13R%^  %^ WR
M/3_H<&CQ]^9^CSM!K6!@\8)'\$Z8H@E-"R,46D%<"*HH:+JW<5IHQF@M>(86
M/,L+16SH\C6J95_6LG__I('1F8),_NB2N?1BU.V%R?9CF9,89HY.9PGB!ISH
MY0L<>N^Z)!H(K"78J!9LU(<>-32"ED9Q6R,KJNZ#9HC:,.R2IYPSM'.:_ZZ;
MR)NZ-TW.?2-:1,8UD7$OD0N02M#8^+A2/+Y&EXPJB5Y=K"[E:_3]'+(K$)UK
MV8O[U+4<"*PE05A+$#Z+X ^'%&P@L)9@A[5@A_\A^ \?A+8?XDD0^O=2X.$X
M/!H%?C#I3H1)36K23\KX]7:N=],$+<DOO<LK=*+W#K8!4WZ#ON265U]*],[P
MU!4>"*PEQE$MQM&S2(FC(04;"*PE&/;V9Q#O/R1%-6DSVL?8Q_A^4G2-\_2G
M.R=PXV2%>UGI)<ZTW^76T!?Z_3A/7<JAT-JL_3UK_UF$?^7&4*(-A-86;7^$
MQ+T'KG^5 $''W[W7"NV*_9\'MHGMCWJX_ZSWS5PA]&[0&_Z]$$]>R8'0VH3W
M1T(\?A[A/^@1<BBTMFC[0R3N/7+]J_ /'T3U*!QW1/\?QY6TW,8M.P.QL8\/
M4OM8,%7>7NO6^H'CQ%[K[[7/S<.'O;WO8<I7DW,B-I1)E,):0WH'AWI=1/D0
M4584S^U=_HHKQ3-;W ))0)@!NG_-N;JKF GJYZ#H-U!+ P04    " "Z@&Y8
M X@+:*4$  !Y&@  &0   'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6RU65US
MHS84_2L:VNGLSB0&"7\DJ>T9V\EN.]/M9I+I[D.G#S)<V\P"<B79CO]])2!@
M'"R#2?U@!.B>>\_E"HZDX8[Q'V(%(-%+%,9B9*VD7-_9MO!6$%'186N(U9T%
MXQ&5ZI0O;;'F0/W$* IMXCA].Z)!;(V'R;5'/AZRC0R#&!XY$ILHHGP_A9#M
M1A:V7B\\!<N5U!?L\7!-E_ ,\J_U(U=G=H[B!Q'$(F QXK 861-\-R-];9#T
M^!; 3ARTD:8R9^R'/OG='UF.C@A"\*2&H.JPA1F$H492<?R;@5JY3VUXV'Y%
M_Y205V3F5,",A=\#7ZY&UHV%?%C032B?V.XWR CU-)['0I'\HUW:=]"SD+<1
MDD69L8H@"N+T2%^R1!P8**+5!B0S($<&N'O"P,T,W(1H&EE"ZYY*.AYRMD-<
M]U9HNI'D)K%6;()8/\9GR=7=0-G)\;.J"W\3 F(+]'6=9':B,QO(/?IP#Y(&
MH?B(KM'/R$9B13F(H2V57VUM>YF/:>J#G/"!"?K"8KD2Z"'VP2\#V"K@/&KR
M&O64&!'OP>L@%U\AXA"W(J!9?7-B",?-D^@F>.ZI).K$7$]5-?GHD>Y5E4LT
MX9S&2TC:?T_F0G)5L?]4)2_%[E9CZV%\)];4@Y&EQJD O@5K_,M/N._\6D7\
MG<!*:>CF:>B:T,=_;J(Y\**2!/JZD4+2V _BY16:PC*(8]6L2D**W$^0]:MG
M.\9.U^D-U./9'O*KZ*=^;M_-^Y5"[^6A]XRA?T^&NWI\DRUP]?I"#R_ O4
M>N2!!PV(I'YN#@(D'7Q[Q**R$ZFFT,\I])M1^$0#CK[1<',4_D-RK(J]_R8L
MW'$'1[%7=L+5L0_RV =M*N>S&DKR^,61AFS$K:YW5#5NVN.4B-_DQ&]:U9V!
MN1&X ?/V."7FMSGSVXO+U<#:"-J =7N<$FOL%-];ITVI/[RL UY-W0S<@/L[
M )7)'X@-W*K<3>R-R$W8MP<JLR<%>W)QR9N8&U&;,&\/5&9>Z"-LU!WGBEX)
M\@4$*C/VC,:>DO0G$G&!N*E.1'N@<B(*A83-$NG< *B;":.7)IEH#U3.1"&X
M<$/%=3 8ZF;!Z*%)%MH#E;-0:#9L%FUGOP9I=533-T(WH=]_(ZJO!\[@]H2H
MPX6JPV99=_YU;Z+W7M(N RHKUE/<"N&&&RJWTLO<Q.N]A%L&=,C+Z?1.$2MT
M&:XGS*YI1NP)]'*0JD<T4[-X/8W=T!#]$2P ?=@#Y>)C@^G1&><]E" B[* H
M73+  ^33?=6JP\R,=>%DEQ1*CK13<B>G61GN^<ENC8[EV LA1MH)L;I,<)W9
M[KE>90Z%G"+UY-3%A6K@9?;<?5.EQ#E9I6:L2ZNTD%ZDJ?3*'C6=AV!*@5NW
M2/^/)2=2*"K22E%=U:7;K57)%\BE\UP+S40NUDRU>;Y=>JI8XS''<2G/0A61
M>DM9#49V;?YFS\U&]@4"['26[(-%_ CX,MG;$,ACFUBF*^/YU7S_9)+L&AQ=
MG^*[6;H+4L"DFS)?*%>?9H%"6"A(IZ-W,7BZSY&>2+9.M@KF3$H6)<T54!^X
M[J#N+QB3KR?:0;[;-/X/4$L#!!0    ( +J ;EA[OF1[PP,  "T-   9
M>&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;*U7;8_B-A#^*U9:55?IEL1)"&0+
M2,#>M2=U[]"BW?MPN@\F&2#:)*:V@=M_W['#!L@+NG;Y GZ9&3_/XY>9#/9<
M/,LU@"(_LC270VNMU.;6MF6TAHS)#M] CC-++C*FL"M6MMP(8+%QRE+;=9S
MSEB26Z.!&9N)T8!O59KD,!-$;K.,B9<)I'P_M*CU.O"0K-9*#]BCP8:M8 [J
M<3,3V+/+*'&202X3GA,!RZ$UIK=3ZFD'8_&4P%Z>M(FFLN#\67<^Q4/+T8@@
MA4CI$ S_=C"%--61$,<_AZ!6N:9V/&V_1O]HR".9!9,PY>G7)%;KH=6W2 Q+
MMDW5 ]__!0="71TOXJDTOV1_L'4L$FVEXMG!&1%D25[\LQ\'(4X<:-#BX!X<
MW*J#W^+@'1R,<G:!S-"Z8XJ-!H+OB=#6&$TWC#;&&]DDN=[&N1(XFZ"?&LWQ
M7,3;% A?DB];)17+XR1?D0>02B21@IC,%8^>R6.>*$EP%J=2IL=G3*@7\NX.
M%$M2^3NY:7-Z]S!_Q/EO]Y M0'Q'PU^)3>2:"9 #6R$+C<6.#H@G!6*W!3%U
MR3W/U5J2#WD,\7D &^F7&KBO&DS<BQ'O(.H0C[XGKN-Z#8"F/^_N7H#CE5OB
MF7A>VY9H86XF>#9C,N497EC)S)$?"\'R%> E4F3Q0D[M9NS%#(_W3,3DV]\8
MDGQ2D,GO30(7Z_O-Z^N'XU9N6 1#"U\&"6('UNBW7VC@_-$DSI6"G4GEEU+Y
MEZ*//F_UB=)GM_GHO3\[TQ-8)7F.K29-BH4"LY!^^W8CUW>#GML=V+M3NG4[
MBF8^/=J=,>F63+H7F7PU[PVB'^] X/M)_L2]5@3O-)"/+!'DB:5;^ ]\BN7Z
M)SB#3E@E4S<*.Z'?S"0HF01OW!-#K7IS"]1!7=W0[_>Z3@5XDYW;]7M!,_9>
MB;UWE5VXP*!7DY1V0K<"OV[4[00MV/LE]OX;=7_"\6;0_9J<-]3K^DZ?5H W
M&.(5H6W8PQ)[>!7=VQF$#<>=]BKHZT;]5MFI<\R@SAN%QX)C"0D.VU.61UBR
M-',XK'.F;MCMAU4:378^=1RGA<E)+4"OL@T_RX<V;4I095.WZG<\VL+%/7)Q
MKY@:/IB_1A)N/3'HIZ:^*PV&E0QR3N58#]"+.?1_Y88+A+R:WEXG#*MLZE9G
M^:.@8I\4GAF(E:G')8GX-E=%_56.EC7_V%2ZE?&)_A8P!>TQ3/$A<<\$9CE)
M4EAB2*?3PYPEBMJ\Z"B^,>7M@BLLEDUSC=\S(+0!SB\Y5Z\=O4#YA33Z%U!+
M P04    " "Z@&Y8UJS"I;H$  #Y&0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970U,RYX;6RM66MOHS@4_2L6NUK-2M. G4=)-XG4I)W=D69FJU8[U6JU'QQP
M$FL 9VV3M/]^;: \$G!":#\T0'R/S[G<ZQS,9,_X#[$A1(*7,(C$U-I(N;VQ
M;>%M2(A%CVU)I+Y9,1YBJ4[YVA9;3K"?!(6!C1QG9(>81M9LDEQ[X+,)BV5
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
M_0/* ?647DA3KO^B;5%W,'10N.:"9J6Q[$&6Y,5_\ER"V#/P^T<,_-+ ?V6
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
M+",H(#46@N'/%I90%!8)>?R[!PW:-:WA\?,K^A<G'L6LF(:E+/[BF=DL@EE
M,LA979A'N?L5]H*N+%XJ"^W^DUTS=QH')*VUD>7>&!F47#2_[&7OB",#%.HW
MB/<&\;G!N,-@M#<8.:$-,R?KGAF6S)7<$65G(YI]<+YQUJB&"[N-3T;A5XYV
M)GG"N,CJ HC,R1T(R+DAN9(E^2I260+YG;V )DQDY'.>@_.Y'2./S.#XX!X,
MXX7^:1X:)&,APW2_\%VS<-RQ,(W)-RG,1I//(H/L%"!$%:V4^%7*7=R+> _I
MD(SH1Q)'\<A#:/G_S>,>.J/6LR.'-^K .SB0W'.=%E+7"LC?MRMM% ;O/SZ7
M-8AC/Z(]T3>Z8BDL CRR&M06@N3''^@D^MDG]YW 3L2/6_'C/O3D"V2@6$%X
MXP2#3H 73#T:"#-$&V9J(]5WHC",?(YHT*\=NLU$VR0:QG0>;H\%7IAT0ORJ
M)7[52_P)J8&']D<B,*?B(<GWRNRW57-@? *:56A\0BZBDS,)_FGCF5_$I!4Q
MZ0V]!\ $)T 8DG$\M0I$"OK&1W/RG@'W3F GDJ>MY&GOOGTBF-4Q9PO,X0J3
M5(9[:)A8\U71;B>FF=H5#Y\GIF^#Z6ROIOXM'?OW:M82GUT@_F1D^NQJ44:0
MIPTWUL6R'VLP&EY%'WS)>'G1</+&\$3.=2OG^H*<)69U+M8V^E*)Y=X>%],4
M_1*838)X"_">F6NO@Z/S,^.?-IM>G_SY=X5&A[H871#RBY39CA>8Q,J*<=7%
M>H_3%SD7EAK0Z9#VNY\>U7-Z@?=O9@.*5+X<X.7?CS? G-H14Y<M+P05C0^J
MXEZL1TP83*4;=Q/)8(O7SZIT(:8@X\8O+/8GU_-X\L^CM*.2T,,%@/:6V&2Y
MP01DLP^IT?D*;TK"E8U*:FY/A)_UR)]FXG/6_6L/XHLA=:CEM+^8'W1L65$W
MAYD5V  PE.75T(\WH+/AJ"NF/$6]8Q\.)9WVUW1W(+P\_>4W&IW[NF->1YFF
MASI->VMB<KA3']TXNNY$>ZQS%M,W;+WSXO'5&=OPJ&LH0:U=,Z4Q:=?"-+?N
M=K1MV&Y=FW(V?F<;.=>-'&":+O ;4VLN-"D@1\AH.$5'JJ:Q:EZ,K%QOLI(&
M.QWWN,%F%)2=@-]S*<WKBUV@;6^3_P!02P,$%     @ NH!N6*2+*,2P!
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
M#M).,,\W0NB'@6T$N\8__Q]02P,$%     @ NH!N6+XS,*JH @  0 8  !D
M  !X;"]W;W)K<VAE971S+W-H965T-C,N>&ULC55M;]HP$/XKIVR:.FDB(13:
M=1"IP*956M4*U.W#M \F.8A5OV2V ^V_W]F!C%4TVA?BL^^>>^Z5\4Z;1ULB
M.GB20ME)5#I77<6QS4N4S/9TA8I>UMI(YD@TF]A6!ED1C*2(TR09Q9)Q%67C
M<'=OLK&NG> *[PW86DIFGJ<H]&X2]:/#Q8)O2N<OXFQ<L0TNT3U4]X:DN$4I
MN$1EN59@<#V)KOM7TY'7#PK?.>[LT1E\)"NM'[UP4TRBQ!-"@;GS"(P^6YRA
M$!Z(:/S>8T:M2V]X?#Z@?PFQ4RPK9G&FQ0]>N'(27490X)K5PBWT[BONXQEZ
MO%P+&WYAU^B.+B+(:^NTW!L3 \E5\V5/^SP<&:3#5PS2O4$:>#>. LLY<RP;
M&[T#X[4)S1]"J,&:R''EB[)TAEXYV;EL254N:H&@UW#G2C1PHYI2^YPM4#"'
M!3@-=Q4:NE0;^(:4!3B;HV-<V/?CV!$/CQ;G>Y_3QF?ZBL]^"K=:N=+"9U5@
M\2] 3 &T4:2'**9I)^(<\QX,^A\@3=(!/"SG</;V?0?NH,W.(. .7L&=:2FY
MHQYT%I@J8$:T*06H<HX6YMSF0MO:(/R\7EEGJ,5^G4I'X^3\M!,_=E>V8CE.
M(IHKBV:+4?;N37^4?.H(X;P-X;P+/9LQ6T+%> %45M!M%86OH@6N<E%3$>AP
M])A[HS4-K#T53N-P&!SZH=]F'X?G27\PCK<GB Y;HL-.H@OT.Z2E!@Z-]%WY
MDO(I1MW( WA&9BQ<@FS:CAJP8,^V([NCEO2H$]JW@*Z5 Z*(_\NV@>RG1PE,
M>LDH?9&_^&BJ)9I-V%T6@K]FP-O;=CU>-UOAKWJS6V^9V7!EB=.:3)/>!27,
M-/NJ$9RNPHY8:4<;)QQ+6O%HO *]K[5V!\$[:/\TLC]02P,$%     @ NH!N
M6/]]L?)? @  : 8  !D   !X;"]W;W)K<VAE971S+W-H965T-C0N>&ULQ55=
M;],P%/TK5D!H2&A)TS9C(XVTM4),VMBT:? P\> FMXTU?P3[MAW_GFLGB\KH
M^H! O"2^ML^YY]S8-_G&V =7 R![5%*[250C-B=Q[,H:%'>'I@%-*PMC%4<*
M[3)VC05>!9"2<9HD6:RXT%&1A[EK6^1FA5)HN+;,K93B]L<92+.91(/H:>)&
M+&OT$W&1-WP)MX!WS;6E*.Y9*J% .V$TL["81*>#D[/,[P\;O@C8N*TQ\T[F
MQCSXX+R:1(D7!!)*] R<7FN8@I2>B&1\[SBC/J4';H^?V#\&[^1ESAU,C?PJ
M*JPGT?N(5;#@*XDW9O,).C]CSU<:Z<*3;;J]2<3*E4.C.C I4$*W;_[8U6$+
MD*8O -(.D ;=;:*@<L:1%[DU&V;];F+S@V UH$F<T/ZCW**E54$X+*9&*8%4
M972,ZXI-C4:AEZ!+ 8X=S "YD(Y]YM9R7[^W>8R4UH/CLDMQUJ9(7T@Q@_*0
M#0?O6)JD0W9W.V,'KY_1Q*2ZEY[VTM/ .WQ1NI1\;EI=[)0$DF[O)!C9CJ^P
M!LNPYIK]"KJ_($YVCJ#<MUW&6@&CW0+\?3EQ#2]A$M&%<&#7$!5O7@VRY,,>
M>\/>WG ?>W'5@%>IETP"'3LF!9\+*9"^RRZI+=DXD/F;N"[2X^-DG!WE\7J'
MBE&O8K17Q47(?4IEK$(I[R]!S<'NK-9>IC^LUKC7.?[?AV'\#^QEO;WL;QZ&
M[+?#,$R3X6"4/3L,\5;C\#WXDMNET(Z2+ B9'!X1A6W[6AN@:4(OF1NDSA2&
M-?T*P/H-M+XP!I\"WY[ZGTOQ$U!+ P04    " "Z@&Y8 3+15VD"  "P!0
M&0   'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6R5E,ENVS 0AE^%4(&B!0)K
MLV4WE07828KF$""(NQR*'FAI;!'FHI"4G;Q]AY2MNHWCHA>)R\S/;SB<R7=*
M;TP-8,F3X-),@]K:YC(,35F#H&:@&I"XLU):4(M3O0Y-HX%6WDGP,(FB+!24
MR:#(_=J]+G+56LXDW&MB6B&H?IX#5[MI$ >'A0>VKJU;"(N\H6M8@/W:W&N<
MA;U*Q01(PY0D&E;38!9?SC-G[PV^,=B9HS%QD2R5VKC);34-(@<$'$KK%"C^
MMG %G#LAQ'C<:P;]D<[Q>'Q0_^1CQUB6U,"5XM]99>MI, E(!2O:<ON@=I]A
M'\_(Z96*&_\EN\XV'0>D;(U58N^,!(+)[D^?]O=PY)#$KS@D>X?$<W<'><IK
M:FF1:[4CVEFCFAOX4+TWPC'IDK*P&G<9^MEB@5FN6@Y$K<@7S*II]3-96%5N
MR+MKL)1Q\SX/+9[D[,-RKSKO5)-75..$W"EI:T-N9 75GP(A(O:<R8%SGIQ5
MO(9R0-+X@B11DA)34PWFC&S:AY]ZV?05V9O'EMEG\F.V-%;C"_EY*M9.8GA:
MPE7-I6EH"=, R\* WD)0O'T39]'',X##'G!X3KWH<V)<3B[('-9,2B;79$XY
ME26< NXD,R_IJG);I)-)G(TF>;@]P3+J649G61Z@:7598PT8]UQ*)036E0<[
M13%Z0?$A&T=)=!HBZR&R_[H0?&#_N(WL!<=P,IQDX[]O(SRJ(@%Z[7N%P3!;
M:;N"ZE?[=C3KJO"W>=?+[JC&-!G"886NT6",=Z&[_M!-K&I\32Z5Q0KWPQI;
M*FAG@/LKI>QAX@[HFW3Q"U!+ P04    " "Z@&Y8GSFB$A0"   P!   &0
M 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q]5%%OTS 0_BN6F= FH3I-Z("2
M1%I7$#P,5:T&#X@'-[DV5NTXLR_MQJ_'=M*H2.U>XCO[ON^^.Y^3'K39V0H
MR;.2M<UHA=A,&;-%!8K;D6Z@=B<;;11'YYHMLXT!7@:0DBR.HENFN*AIGH:]
MA<E3W:(4-2P,L:U2W+S,0.I#1L?TN+$4VPK]!LO3AF]A!?C8+(SSV,!2"@6U
M%;HF!C89O1M/9XF/#P$_!1SLB4U\)6NM=][Y7F8T\H) 0H&>@;ME#_<@I2=R
M,IYZ3CJD],!3^\C^-=3N:EES"_=:_A(E5AG]2$D)&]Y*7.K#-^CKF7B^0DL;
MON30Q4X^45*T%K7JP4Z!$G6W\N>^#R> .+X B'M ''1WB8+*.4>>IT8?B/'1
MCLT;H=2 =N)$[2]EA<:="H?#?%5Q V0)36N*RE5'%D9O#5?D>@[(A;3D!S>&
M^];=D"LB:O(@I'3]M"E#E]^SL*+/->MRQ1=R/7 S(LGX'8FC.":/JSFYOKKY
MGX8Y^4,-\5!#''B3"[Q?GEJ!+^3WW=JB<=?\YYRTCN+]>0H_^E/;\ (RZF;;
M@MD#S=^^&=]&GU\1F P"D]?8\Q7J8N=&>&ARTS>9MUAI(_Y"2;C2;8WGE'?<
MD\#MW]@^3Z*4[4_UL),!\&_)=7HK:DLD;!PH&GUP:-/-9^>@;L),K#6Z"0MF
MY9XT&!_@SC=:X]'Q8S;\)/)_4$L#!!0    ( +J ;EB-"QYP=P,  "H/   9
M    >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;+57VV[;.!#]E8&V6+1 &]UL
MV<[:!AJ[00LTA9&TVX?%/C#2V"(JB2I)V\G?EZ04V4H5[CI0\A"+%.?,G,,9
MBC/=,_Y#I(@2[O*L$#,GE;(\=UT1IY@3<<9*+-2;->,YD6K(-ZXH.9+$&.69
M&WA>Y.:$%LY\:N96?#YE6YG1 E<<Q#;/";^_P(SM9X[O/$Q<TTTJ]80[GY9D
M@S<HOY4KKD9N@Y+0' M!60$<US/GO7^^\ ?:P*SXF^)>'#V#IG++V \]^)3,
M'$]'A!G&4D,0];/#!6:91E)Q_*Q!G<:G-CQ^?D"_-.05F5LB<,&R[S21Z<P9
M.Y#@FFPS><WV'[$F--1X,<N$^0_[:NUPY$"\%9+EM;&*(*=%]4ON:B&.#/SH
M"8.@-@@>&PR>, AK@] 0K2(SM)9$DOF4LSUPO5JAZ0>CC;%6;&BAM_%&<O66
M*CLYO\:,2$Q@1;B\AZ^<%((8@06\7J(D-!/PA7!.M-IOX!U\NUG"ZU=OIJY4
MWC6&&]>>+BI/P1.>_ "N6"%3 1^*!),V@*O";F(/'F*_"*R(2XS/(/3?0N %
M84= B_]O'EC""1LI0X,7GBHE_/-9+85/$G/Q;Y=P%>Z@&U<7\KDH28PS1U6J
M0+Y#9_[G'W[D_=5%NB>PE@2#1H*!#5U)()#P. 52)*J8=NJ4*%7-2\ [=>X(
M%%WL*\BA@=2GSFX>!),H&$[4GNZ.F?V^T!\-PK$W&3<+6U$/FZB'UJC5697"
MAPU1&W6%^2WRSDVR8IRZ23V!M>A&#=WHA?(TZE."GL!:$HP:"4;V'4\)1W/\
M)U"2>YVB;V&'0M)B R5RRI(N_G;0$.Y5\G>E^,)J^$RNXX;KV!K6):$<=B3;
M(K UX,\M5;M.]H0GG=4X_JW((D__/:I%J\]G,IHTC"961M]IH;Z+Q7^7K!7F
MU'SM":S%V/<.GVGOA8JV!NY)A;[0VC(<W5;\/I.Y1HN./QE=V6SW^EQ6P8%5
M8&6U8#>$$UA2LBF8.H1B :N=A,\RL::W'?7DG>T)K:W!X?+DO]3MR>_U^M07
M6EN&PP7*?X$;E-]QA>I,<ZOO4[FY1UU'CGQCFC$!,=L6LKK$-[--P_?>M#F/
MYB]T(VBZF0-,U45>$;Y1ASUDN%:0WME(4>158U8-)"M-;W/+I.J4S&.JFEGD
M>H%ZOV9,/@RT@Z8]GO\"4$L#!!0    ( +J ;EABF@$0.@,  - 3   -
M>&PO<W1Y;&5S+GAM;-U874_;,!3]*Y$9$T@3:9L1FM%6VBHA3=HF)'C8&W(;
MI[7DV)GCLI9?/]_833_P98R'K2P5C7V/S[G']@TQ#&JS$NQFSIB)EJ60]9#,
MC:D^Q'$]G;.2UF>J8M(BA=(E-;:K9W%=:4;S&DBEB'N=3AJ7E$LR&LA%>56:
M.IJJA31#DK:AR-T^YT/23=^3R,F-5<Z&Y.[D[8^%,I=O(G<_>G=TU+D[O=R/
MGS3 *8F#HN?/$#WK='!A #'Q]'GB3VECTA>[TLWP8RODB,<8K1^@^>G]?CI9
MF'R\37:98[^CHT&AY&9C$^("5IV6++JG8DC&5/")YL J:,G%RH5[$)@JH71D
M;$79=%V(U \.[KH>%)O7*;E4NLGM,KCOB1^^!ZQ[8) +T1KL$1<8#2IJ#-/R
MRG::P4WP$13Y]NVJL@YGFJZZO7.R(30WFV2B=,YTFZ9+UJ'10+ "[&@^F\/=
MJ"H&T!A5VD;.Z4Q)VGA8,WS#RDZ9$#?P)'XO=K27Q=:^=6#79-NTAGS3R;@.
MZ&^K.>UMV>1%NE'%[Y7YM+#3D4T?JIM=:U;P9=-?%JT!3+V+J].J$JN/@L]D
MR=SDGYUP-*!K7C17FC_8;% J4QM@FD3W3!L^W8[\U+2Z94NS+J=E@7ONO4+/
M?W>=9TPR3<6V:5O[A[S*+W;L7UW_PG/S:V7?<=!D<G'X'OWK^M!-IJ_!Y"O8
M[B0[?(_^2'7H)@]S)6-_R-@ZR>R<8]IH!.?%(?D&IT^Q21I-%EP8+GUOSO.<
MR4?'&2MOZ,3^N;*C;\?GK* +86Y;<$@V[:\LYXLR:T==PT+X49OV%YA>-VT/
MJS87ESE;LGSLNWHV:9J1;=BL_@+"/G+57&$$XS@LC "&Y<$<8!S'PO+\3_/I
MH_-Q&.:M'T3Z**>/<APKA(R;#Y8GS,GL%9YIEB5)FF(K.AX''8RQ=4M3^ FK
M8=Z @>6!3'^VUOANXQ7R=!U@>_I4A6 SQ2L1FRF^UH"$UPT861;>;2P/,+!=
MP&H'\H?S0$V%.4D"NXIYPYY@',DR#(%:#-=HFB*KD\(GO#_84Y(D619&  L[
M2!(,@:<11S 'X %#DJ1Y#^Z]C^+U>RK>_ ]O] M02P,$%     @ NH!N6)>*
MNQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q ?\70GC 'T"&(,V7Q
M%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(
MMB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!
M;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B
M':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+ P04
M" "Z@&Y8C%E"U;L%  !W+   #P   'AL+W=O<FMB;V]K+GAM;,6:VV[;.!!
M?X7P4Q;HKJ-K+V@*I'':#= VAIWM/BYHB8Z)2J1+4L[EZSND[6:4.(-]H?)D
M6[;DH^'ES)!Z?Z/-CX76/]AMVRA[,EHYMWXW'MMJ)5IN_])KH>";I38M=_#1
M7(_MV@A>VY40KFW&Z?%Q.6ZY5*,/[_?7FIHQ_J"=J)S4"@[Z ]^EN+$/W_N/
M;".M7,A&NKN347C?B!%KI9*MO!?UR>AXQ.Q*W_RMC;S7RO%F7AG=-">C9/O%
M=V&<K)X<GGO(*[ZPX8CCBQD'D)-1>0P77$IC7?A%N#X'QHV 'V\_=4Y_DHT3
M9L*=^&QTMY;JVE\&[F*,;B/$8?^Z#>([\W_"J)=+68F)KKI6*+>-HQ&-!U1V
M)==VQ!1OQ<GH3&^$\?<#?W!1;^_- 12*E'DGX0MS40>\F"C*ZD;6\.\U^\@;
MKBK!0@@M DP)P/3% -G1E"/(C(#,!H2<>PA_@F5ZR2[7O:;."<C\)2 ]X]F*
MJVL$61"0Q8M%\HS;%8(L"<@R+N24W[&-95-APNF^1TZDK1IM.R,0XFL"\75<
MQ ME92T,NS*\AFF.G1H#;;P-)B)\0Q"^B4MX"7/@QIN"*S^PK0R-/#7"PGG<
M(<BW!.3;N)#SKFVYN?-D<WFM))S&8<R<5I7NE)-X#C^F)O'CR*,&AL:K,$#8
M^<].;GCCV_E5".TG$#G")%T363:?N#3L.V\ZP;X*[@?+X_Z84*9)(JL&\AJ8
MK-U=")N/X]J?@.DHQ221'?-9Z_I&-DV@NX AHJX] 3NUMB_KA'),$EDR,#),
M!U/W^2U<Q(H>%Z65)+)79F(C5(<GYX022!+9(.?<*)B6+8,.!]D,[VDCH;R1
M1!;'W.GJQY\P'T,CGNG6MV+X$>:CK)%$UL:%JG0KV!6_[7<N2A))9$M G%KI
MMHF*'YV0Q#AH7:$JV8-,*4>DD1T1>AF;B75GJA4T+ZA67QO>8CY*#FED.<S\
M0>AT4^ZG8,A;H..%(K,70;(2B>R'>;>PXF?GD^;SS2-QI90:TLAJ(+.4_U*,
M2;DAC5V 4%E*'Y-211I9%<]D*>SHB@-(K]$IA:2QBY"#V<J>\@^,2?DDC>P3
M.FUA&)/22AI9*X_SEH-QI!R31G;,+H$YQ)516LDB:^5I)G,0D3)+%MDLSZ4T
M.U",2>DEBZP7G-D<C"&YP!5]A8M(<=@1QJ04DT56S'-)SH&FIA23158,+>P,
M8U**R2(K9@[7J#N8K'>K;X_DC3$IQ62Q2Q:$B>2],TQOB9A23!99,;UH^A57
M&#A2,;<2@1IC4J+)8B]Y8<S]*'?^;5A1Q&O9E'?RV.4,PCR0"F%,RCUY;/<@
MS-^IT-%$."Z;WNR>4^K)8U<VB/))CO8*)VDY):$\=IV#!WKG(#-GIZTV3MX_
M7J+(R7V6R!(B4]Y>G9-3$LIC2PA%\VGZ.\&8E(3RV!)Z<.4^!U[<L<_">WV]
MPDOP.26A?$ )3<12& /A_)VT]Z))22@?4$+;31??22>RZ?S:RSG&I"241Y;0
MH:IB-VFR;QQ+J* D5 PHH<MUJ"E._4,'$EP$O!B3DE QH(0N.P<<*FP*SH1U
M1E88D[)0,:"%_N5^P]+A<&),RD+%@!::B4I#_GX?-JM]E;G Z69!6:B(70H]
M6_6&@80QR?W^ 2WD,;4*->:^&,:8E(6* 4NACT*)I71L:72[ \68E(6*E[#0
M%;]]NDM84!8J!K30/\H\#"*/^K$73<I"160+]5=DD'\,]T^6X8=1* N5 UKH
MB_"K'KLT;LN,,2D+E0-:Z"N'[%TZOW8$,Y(?]SU,RD+E@!:ZA.+<P!#?7LA/
MGC.,25FH?,D%N5Z145(6*F-;"$7SRH3ME+NM*D/GQ)B4A<K8%GIVW?"Q+$OR
MN;/(%GI^C_1)-"D+E<%"X_!C^^%]#393HOX&?V'A>,6;:FJ8?]D^DI,7?G=]
MV37-&1R[5%\TK_?/S>Z?^?WP"U!+ P04    " "Z@&Y8R%S!4B "  #0)P
M&@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=H[;MM %(7AK0A<@$?W
M-;8#RU4:MX$W0,BC!RR)!(=![-U'D OI$"G2&#P5,21X^5<?B"&??I5#.^Z[
M4]WM^[KX.!Y.==7LQK'_D5)=[\JQK7==7T[G*YMN.+;C>3EL4]^NW]MM2;I<
MYC3<SFB>GVYG+EX_^_(_$[O-9K\N/[OU[V,YC?\8G/YTPWO=E3(VB]=VV)9Q
MU:2/P_5T39>#W)TG-XN7MU4SO+Q)D^8.4@C2^8,,@FS^((<@GS\H("CF#\H0
ME.</NH>@^_F#'B#H8?Z@1PAZG#](EBCCDB!I@C6!UH)<"X'7@F +@=B"9 N!
MV8)H"X':@FP+@=N"< N!W()T"X'=@G@+@=Z*>BN!WHIZ*X'>.GG9)M!;46\E
MT%M1;R706U%O)=!;46\ET%M1;R706U%O)=!;46\ET-M0;R/0VU!O(]#;4&\C
MT-LFFR4$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>COJ[01Z.^KM
M!'H[ZNT$>COJ[01Z^V2SFT!O1[V=0&]'O9U ;T>]G4!O1[V=0&]'O9U [T"]
M@T#O0+V#0.] O8- [T"]@T#O0+V#0.^8?*PDT#M0[R#0.U#O(- [4.\@T#M0
M[R#0.Z/>F4#OC'IG KTSZIT)],ZH=R;0.Z/>F4#OC'IG KWSY&<3 KTSZIV_
M4^\Z?AY*O?9\K?'YWTGU>+ZW7!]_67Z=G+!SP3G=5M3GOU!+ P04    " "Z
M@&Y8XB$R0O$!   9)P  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-VLM.PS 0
M!=!?J;)%C>LG#]%N@"VPX =,,J51D]BR72A_CY,"$@@J4)&XFT:M[;D3CW16
M/;][]A0GVZ[MX[Q8I>3/&(O5BCH;2^>ISRM+%SJ;\M?PP+RMUO:!F)C-#*M<
MGZA/TS34*!;GE[2TFS9-KK;YY]BX?EX$:F,QN=AM'++FA?6^;2J;\CI[[.M/
M*=/7A#*?'/?$5>/C4=Y0L"\3AI7O U[/W3Q2"$U-DUL;TK7M\BZV;5E,SRW%
M<G^)+WITRV534>VJ39>/E-$'LG5<$:6N+7=%C_8GIWS#M/OD!^>/9?8%YIVW
MP?F8)Q;H]W%O(QE.3WTN1"$U^U_Q/3&7/OC]:)AV3?4/L_/U/KFP'N<1V?@X
M_(X_SOB]_B_[$"!]2) ^%$@?&J0/ ]+',4@?)R!]G(+TP6<HC:"(RE%(Y2BF
M<A14.8JJ'(55CN(J1X&5H\@J4&05*+(*%%D%BJP"15:!(JM D56@R"I09!4H
MLDH4626*K!)%5HDBJT215:+(*E%DE2BR2A19)8JL"D56A2*K0I%5H<BJ4&15
M*+(J%%D5BJP*15:%(JM&D56CR*I19-4HLFH4636*K!I%5HTBJT:15:/(:E!D
M-2BR&A19#8JL!D56@R*K09'5_*>L]\ZM_SA^?):=;?JW?#;^(V[Q E!+ 0(4
M Q0    ( +J ;E@'04UB@0   +$    0              "  0    !D;V-0
M<F]P<R]A<' N>&UL4$L! A0#%     @ NH!N6 ?85^[O    *P(  !$
M         ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ NH!N
M6)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE+W1H96UE
M,2YX;6Q02P$"% ,4    " "Z@&Y8<DBP4R$(  # /0  &
M@($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ NH!N
M6/TW%,UV!P  +R   !@              ("!91   'AL+W=O<FMS:&5E=',O
M<VAE970R+GAM;%!+ 0(4 Q0    ( +J ;E@1HN@H&@,  +T*   8
M      " @1$8  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4
M" "Z@&Y8M;]5DO &   T'@  &               @(%A&P  >&PO=V]R:W-H
M965T<R]S:&5E=#0N>&UL4$L! A0#%     @ NH!N6'-' ^4C!P  4#<  !@
M             ("!AR(  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4
M Q0    ( +J ;ECSXC"9Q0@  .TF   8              " @> I  !X;"]W
M;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " "Z@&Y8VT[&%UL"  "Z
M!0  &               @(';,@  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL
M4$L! A0#%     @ NH!N6.U4)JM, @  D@8  !@              ("!;#4
M 'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( +J ;E@AM3T&
M2@4  +@+   8              " @>XW  !X;"]W;W)K<VAE971S+W-H965T
M.2YX;6Q02P$"% ,4    " "Z@&Y8QTS+2><4   5.P  &0
M@(%N/0  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( +J
M;E@'4F]P_ ,  (@*   9              " @8Q2  !X;"]W;W)K<VAE971S
M+W-H965T,3$N>&UL4$L! A0#%     @ NH!N6+>61B62!P  3Q4  !D
M         ("!OU8  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4
M    " "Z@&Y8F('[\00#  !R!@  &0              @(&(7@  >&PO=V]R
M:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( +J ;E@T<5 SQ04  *X.
M   9              " @<-A  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL
M4$L! A0#%     @ NH!N6.]01^2C @  TP4  !D              ("!OV<
M 'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " "Z@&Y88:J/
MFX\#   *"   &0              @(&9:@  >&PO=V]R:W-H965T<R]S:&5E
M=#$V+GAM;%!+ 0(4 Q0    ( +J ;E@* )K$D@,  $ (   9
M  " @5]N  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @
MNH!N6-:,?UZ&!P  "A0  !D              ("!*'(  'AL+W=O<FMS:&5E
M=',O<VAE970Q."YX;6Q02P$"% ,4    " "Z@&Y89*>."1,(  "D$@  &0
M            @('E>0  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4
M Q0    ( +J ;EB#\Q>44P<   H1   9              " @2^"  !X;"]W
M;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ NH!N6.[8+:%T P
ME0<  !D              ("!N8D  'AL+W=O<FMS:&5E=',O<VAE970R,2YX
M;6Q02P$"% ,4    " "Z@&Y8+)>HYX8#  #7!P  &0              @(%D
MC0  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( +J ;EC<
MK/.P"P(  +0$   9              " @2&1  !X;"]W;W)K<VAE971S+W-H
M965T,C,N>&UL4$L! A0#%     @ NH!N6'J!-SMC%@  ED4  !D
M     ("!8Y,  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4
M" "Z@&Y8)(-$^MD#   ("@  &0              @(']J0  >&PO=V]R:W-H
M965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( +J ;ECY?HLQH00  )0-   9
M              " @0VN  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L!
M A0#%     @ NH!N6'YIN'@# P  808  !D              ("!Y;(  'AL
M+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " "Z@&Y80C?&:",$
M   *"P  &0              @($?M@  >&PO=V]R:W-H965T<R]S:&5E=#(X
M+GAM;%!+ 0(4 Q0    ( +J ;EA0Z?AUHP(  ,X%   9              "
M@7FZ  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ NH!N
M6-Y OO2A P  F0@  !D              ("!4[T  'AL+W=O<FMS:&5E=',O
M<VAE970S,"YX;6Q02P$"% ,4    " "Z@&Y8^@1!SQT#   5!P  &0
M        @($KP0  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0
M   ( +J ;EC#<OELP04  +80   9              " @7_$  !X;"]W;W)K
M<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ NH!N6# VTH(@!P  K1$
M !D              ("!=\H  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q0
M2P$"% ,4    " "Z@&Y8\F2SYNT#   -"@  &0              @('.T0
M>&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( +J ;EC82Z-H
M;P(  %4%   9              " @?+5  !X;"]W;W)K<VAE971S+W-H965T
M,S4N>&UL4$L! A0#%     @ NH!N6$P.%P6"!0  EAX  !D
M ("!F-@  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " "Z
M@&Y80'Q,G&H&   1*P  &0              @(%1W@  >&PO=V]R:W-H965T
M<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( +J ;EC (I/"N@4  %,I   9
M          " @?+D  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#
M%     @ NH!N6,U A-[( @  <08  !D              ("!X^H  'AL+W=O
M<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " "Z@&Y82M6APZX#  #M
M$P  &0              @('B[0  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM
M;%!+ 0(4 Q0    ( +J ;EB. _G5I 0  &8@   9              " @<?Q
M  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ NH!N6'L"
MY^?+ @  6P@  !D              ("!HO8  'AL+W=O<FMS:&5E=',O<VAE
M970T,BYX;6Q02P$"% ,4    " "Z@&Y8_]C665P$  #H$@  &0
M    @(&D^0  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    (
M +J ;EB"[G7$(P(  )<$   9              " @3?^  !X;"]W;W)K<VAE
M971S+W-H965T-#0N>&UL4$L! A0#%     @ NH!N6*"M2 4R @  .P8  !D
M             ("!D0 ! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"
M% ,4    " "Z@&Y8T#!0'9X"  #W!@  &0              @('Z @$ >&PO
M=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( +J ;EA\8G#'BP0
M  4<   9              " @<\% 0!X;"]W;W)K<VAE971S+W-H965T-#<N
M>&UL4$L! A0#%     @ NH!N6$+LW7*6 @  FP8  !D              ("!
MD0H! 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " "Z@&Y8
M89]W,BX#  ")"0  &0              @(%>#0$ >&PO=V]R:W-H965T<R]S
M:&5E=#0Y+GAM;%!+ 0(4 Q0    ( +J ;EBMLN>UI@,  !H2   9
M      " @<,0 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%
M  @ NH!N6 .("VBE!   >1H  !D              ("!H!0! 'AL+W=O<FMS
M:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    " "Z@&Y8>[YD>\,#   M#0
M&0              @(%\&0$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+
M 0(4 Q0    ( +J ;EC6K,*EN@0  /D9   9              " @78= 0!X
M;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ NH!N6+UW4@[6
M P  KA$  !D              ("!9R(! 'AL+W=O<FMS:&5E=',O<VAE970U
M-"YX;6Q02P$"% ,4    " "Z@&Y8RVTPXN4$  !''   &0
M@(%T)@$ >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( +J
M;E@HQ?@)5P,   P+   9              " @9 K 0!X;"]W;W)K<VAE971S
M+W-H965T-38N>&UL4$L! A0#%     @ NH!N6"O5<)$S!   Z@X  !D
M         ("!'B\! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4
M    " "Z@&Y8I(LHQ+ $  "\$@  &0              @(&(,P$ >&PO=V]R
M:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( +J ;EA.IET7. ,  '@)
M   9              " @6\X 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL
M4$L! A0#%     @ NH!N6#XZ9 #( @  K@@  !D              ("!WCL!
M 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " "Z@&Y8Z3:&
MC&T"  "S!0  &0              @('=/@$ >&PO=V]R:W-H965T<R]S:&5E
M=#8Q+GAM;%!+ 0(4 Q0    ( +J ;EB:WO_"7@,   0,   9
M  " @8%! 0!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @
MNH!N6+XS,*JH @  0 8  !D              ("!%D4! 'AL+W=O<FMS:&5E
M=',O<VAE970V,RYX;6Q02P$"% ,4    " "Z@&Y8_WVQ\E\"  !H!@  &0
M            @('U1P$ >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4
M Q0    ( +J ;E@!,M%7:0(  + %   9              " @8M* 0!X;"]W
M;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#%     @ NH!N6)\YHA(4 @
M, 0  !D              ("!*TT! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX
M;6Q02P$"% ,4    " "Z@&Y8C0L><'<#   J#P  &0              @(%V
M3P$ >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( +J ;EAB
MF@$0.@,  - 3   -              "  213 0!X;"]S='EL97,N>&UL4$L!
M A0#%     @ NH!N6)>*NQS     $P(   L              ( !B58! %]R
M96QS+RYR96QS4$L! A0#%     @ NH!N6(Q90M6[!0  =RP   \
M     ( !<E<! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( +J ;EC(7,%2
M( (  - G   :              "  5I= 0!X;"]?<F5L<R]W;W)K8F]O:RYX
M;6PN<F5L<U!+ 0(4 Q0    ( +J ;ECB(3)"\0$  !DG   3
M  "  ;)? 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !+ $L A!0  -1A
$ 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<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>86
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>154</ContextCount>
  <ElementCount>373</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>56</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Consolidated Statements of Operations and Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss</Role>
      <ShortName>Consolidated Statements of Operations and Comprehensive Loss</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Consolidated Statement of Changes in Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity</Role>
      <ShortName>Consolidated Statement of Changes in Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-k.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="form10-k.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="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995512 - Disclosure - Overview and Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/OverviewAndBasisOfPresentation</Role>
      <ShortName>Overview and Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995513 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995514 - Disclosure - Cash, Cash Equivalents, and Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments</Role>
      <ShortName>Cash, Cash Equivalents, and Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995515 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995516 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/PropertyAndEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995517 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995518 - Disclosure - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/AccruedExpenses</Role>
      <ShortName>Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995519 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995520 - Disclosure - Earnings per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/EarningsPerShare</Role>
      <ShortName>Earnings per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995521 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Stock-basedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995522 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995523 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995524 - Disclosure - Share Repurchase Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ShareRepurchaseProgram</Role>
      <ShortName>Share Repurchase Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995525 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995526 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995527 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995528 - Disclosure - Cash, Cash Equivalents, and Financial Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables</Role>
      <ShortName>Cash, Cash Equivalents, and Financial Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995529 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/FairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/FairValueMeasurements</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995530 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/PropertyAndEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/PropertyAndEquipment</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995531 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995532 - Disclosure - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/AccruedExpensesTables</Role>
      <ShortName>Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/AccruedExpenses</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995533 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/RevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/Revenue</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995534 - Disclosure - Earnings per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/EarningsPerShare</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995535 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Stock-basedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/Stock-basedCompensation</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995536 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/IncomeTaxes</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995537 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995538 - Disclosure - Share Repurchase Program (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ShareRepurchaseProgramTables</Role>
      <ShortName>Share Repurchase Program (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/ShareRepurchaseProgram</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995539 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>Summary of Significant Accounting Policies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995540 - Disclosure - Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails</Role>
      <ShortName>Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995541 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails</Role>
      <ShortName>Schedule of Fair Value Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995542 - Disclosure - Schedule of Changes in the Fair Value Measurement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails</Role>
      <ShortName>Schedule of Changes in the Fair Value Measurement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995543 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails</Role>
      <ShortName>Schedule of Contingent Consideration Common Stock and Warrants (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995544 - Disclosure - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails</Role>
      <ShortName>Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995545 - Disclosure - Schedule of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfGoodwillDetails</Role>
      <ShortName>Schedule of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995546 - Disclosure - Schedule of Intangible Assets, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails</Role>
      <ShortName>Schedule of Intangible Assets, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995547 - Disclosure - Schedule of Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails</Role>
      <ShortName>Schedule of Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995548 - Disclosure - Goodwill and Intangible Assets (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative</Role>
      <ShortName>Goodwill and Intangible Assets (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995549 - Disclosure - Schedule of Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails</Role>
      <ShortName>Schedule of Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995550 - Disclosure - Summary of Revenue by Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails</Role>
      <ShortName>Summary of Revenue by Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995551 - Disclosure - Schedule of Deferred Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails</Role>
      <ShortName>Schedule of Deferred Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995552 - Disclosure - Schedule of Basis and Diluted Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails</Role>
      <ShortName>Schedule of Basis and Diluted Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995553 - Disclosure - Earnings per Share (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/EarningsPerShareDetailsNarrative</Role>
      <ShortName>Earnings per Share (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/EarningsPerShareTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995554 - Disclosure - Schedule of Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfOptionActivityDetails</Role>
      <ShortName>Schedule of Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995555 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Party (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails</Role>
      <ShortName>Schedule of Outstanding Restricted Stock Units and Related Party (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995556 - Disclosure - Schedule of Warrant Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails</Role>
      <ShortName>Schedule of Warrant Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995557 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails</Role>
      <ShortName>Schedule of Recognized Stock-based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995558 - Disclosure - Stock-Based Compensation (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative</Role>
      <ShortName>Stock-Based Compensation (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/Stock-basedCompensationTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995559 - Disclosure - Schedule of Components Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails</Role>
      <ShortName>Schedule of Components Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995560 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails</Role>
      <ShortName>Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995561 - Disclosure - Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>995562 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Schedule of Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>995563 - Disclosure - Income Taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>Income Taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/IncomeTaxesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>995564 - Disclosure - Schedule of Lease Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails</Role>
      <ShortName>Schedule of Lease Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>995565 - Disclosure - Schedule of Maturities on Company Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails</Role>
      <ShortName>Schedule of Maturities on Company Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>995566 - Disclosure - Schedule of Other Information Related to Operating Lease (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails</Role>
      <ShortName>Schedule of Other Information Related to Operating Lease (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>995567 - Disclosure - Commitments and Contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and Contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>995568 - Disclosure - Schedule of Treasury Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails</Role>
      <ShortName>Schedule of Treasury Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>995569 - Disclosure - Share Repurchase Program (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative</Role>
      <ShortName>Share Repurchase Program (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/ShareRepurchaseProgramTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>995570 - Disclosure - Related Party Transactions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative</Role>
      <ShortName>Related Party Transactions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/RelatedPartyTransactions</ParentRole>
      <Position>67</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>codx-20231231.xsd</File>
    <File>codx-20231231_cal.xml</File>
    <File>codx-20231231_def.xml</File>
    <File>codx-20231231_lab.xml</File>
    <File>codx-20231231_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="form10-k.htm">form10-k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="801">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="40">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>90
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "form10-k.htm": {
   "nsprefix": "CODX",
   "nsuri": "http://codiagnostics.com/20231231",
   "dts": {
    "schema": {
     "local": [
      "codx-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "codx-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "codx-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "codx-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "codx-20231231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "form10-k.htm"
     ]
    }
   },
   "keyStandard": 323,
   "keyCustom": 50,
   "axisStandard": 20,
   "axisCustom": 0,
   "memberStandard": 40,
   "memberCustom": 15,
   "hidden": {
    "total": 187,
    "http://fasb.org/us-gaap/2023": 157,
    "http://codiagnostics.com/20231231": 27,
    "http://xbrl.sec.gov/dei/2023": 3
   },
   "contextCount": 154,
   "entityCount": 1,
   "segmentCount": 56,
   "elementCount": 644,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 801,
    "http://xbrl.sec.gov/dei/2023": 40,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://codiagnostics.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://codiagnostics.com/role/BalanceSheets",
     "longName": "00000002 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:MarketableSecuritiesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://codiagnostics.com/role/BalanceSheetsParenthetical",
     "longName": "00000003 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss",
     "longName": "00000004 - Statement - Consolidated Statements of Operations and Comprehensive Loss",
     "shortName": "Consolidated Statements of Operations and Comprehensive Loss",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
     "longName": "00000005 - Statement - Consolidated Statement of Changes in Stockholders' Equity",
     "shortName": "Consolidated Statement of Changes in Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://codiagnostics.com/role/StatementsOfCashFlows",
     "longName": "00000006 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.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": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.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": "From2023-10-012023-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-10-012023-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://codiagnostics.com/role/OverviewAndBasisOfPresentation",
     "longName": "995512 - Disclosure - Overview and Basis of Presentation",
     "shortName": "Overview and Basis of Presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies",
     "longName": "995513 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments",
     "longName": "995514 - Disclosure - Cash, Cash Equivalents, and Financial Instruments",
     "shortName": "Cash, Cash Equivalents, and Financial Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://codiagnostics.com/role/FairValueMeasurements",
     "longName": "995515 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://codiagnostics.com/role/PropertyAndEquipment",
     "longName": "995516 - Disclosure - Property and Equipment",
     "shortName": "Property and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://codiagnostics.com/role/GoodwillAndIntangibleAssets",
     "longName": "995517 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://codiagnostics.com/role/AccruedExpenses",
     "longName": "995518 - Disclosure - Accrued Expenses",
     "shortName": "Accrued Expenses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://codiagnostics.com/role/Revenue",
     "longName": "995519 - Disclosure - Revenue",
     "shortName": "Revenue",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://codiagnostics.com/role/EarningsPerShare",
     "longName": "995520 - Disclosure - Earnings per Share",
     "shortName": "Earnings per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://codiagnostics.com/role/Stock-basedCompensation",
     "longName": "995521 - Disclosure - Stock-Based Compensation",
     "shortName": "Stock-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://codiagnostics.com/role/IncomeTaxes",
     "longName": "995522 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://codiagnostics.com/role/CommitmentsAndContingencies",
     "longName": "995523 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://codiagnostics.com/role/ShareRepurchaseProgram",
     "longName": "995524 - Disclosure - Share Repurchase Program",
     "shortName": "Share Repurchase Program",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://codiagnostics.com/role/RelatedPartyTransactions",
     "longName": "995525 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://codiagnostics.com/role/SubsequentEvents",
     "longName": "995526 - Disclosure - Subsequent Events",
     "shortName": "Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995527 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PriorPeriodReclassificationAdjustmentDescription",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PriorPeriodReclassificationAdjustmentDescription",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables",
     "longName": "995528 - Disclosure - Cash, Cash Equivalents, and Financial Instruments (Tables)",
     "shortName": "Cash, Cash Equivalents, and Financial Instruments (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://codiagnostics.com/role/FairValueMeasurementsTables",
     "longName": "995529 - Disclosure - Fair Value Measurements (Tables)",
     "shortName": "Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://codiagnostics.com/role/PropertyAndEquipmentTables",
     "longName": "995530 - Disclosure - Property and Equipment (Tables)",
     "shortName": "Property and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables",
     "longName": "995531 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://codiagnostics.com/role/AccruedExpensesTables",
     "longName": "995532 - Disclosure - Accrued Expenses (Tables)",
     "shortName": "Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://codiagnostics.com/role/RevenueTables",
     "longName": "995533 - Disclosure - Revenue (Tables)",
     "shortName": "Revenue (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://codiagnostics.com/role/EarningsPerShareTables",
     "longName": "995534 - Disclosure - Earnings per Share (Tables)",
     "shortName": "Earnings per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://codiagnostics.com/role/Stock-basedCompensationTables",
     "longName": "995535 - Disclosure - Stock-Based Compensation (Tables)",
     "shortName": "Stock-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://codiagnostics.com/role/IncomeTaxesTables",
     "longName": "995536 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://codiagnostics.com/role/CommitmentsAndContingenciesTables",
     "longName": "995537 - Disclosure - Commitments and Contingencies (Tables)",
     "shortName": "Commitments and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://codiagnostics.com/role/ShareRepurchaseProgramTables",
     "longName": "995538 - Disclosure - Share Repurchase Program (Tables)",
     "shortName": "Share Repurchase Program (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "CODX:ScheduleOfTreasuryStockTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "CODX:ScheduleOfTreasuryStockTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
     "longName": "995539 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)",
     "shortName": "Summary of Significant Accounting Policies (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails",
     "longName": "995540 - Disclosure - Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)",
     "shortName": "Schedule of Cash, Cash Equivalents and Marketable Investment Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:TradingSecuritiesDebtAmortizedCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:TradingSecuritiesDebtAmortizedCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails",
     "longName": "995541 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)",
     "shortName": "Schedule of Fair Value Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:MarketableSecurities",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember",
      "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
     "longName": "995542 - Disclosure - Schedule of Changes in the Fair Value Measurement (Details)",
     "shortName": "Schedule of Changes in the Fair Value Measurement (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember",
      "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember",
      "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
     "longName": "995543 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)",
     "shortName": "Schedule of Contingent Consideration Common Stock and Warrants (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:WarrantsAndRightsOutstandingTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:WarrantsAndRightsOutstandingTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
     "longName": "995544 - Disclosure - Schedule of Property and Equipment (Details)",
     "shortName": "Schedule of Property and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://codiagnostics.com/role/ScheduleOfGoodwillDetails",
     "longName": "995545 - Disclosure - Schedule of Goodwill (Details)",
     "shortName": "Schedule of Goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2022-01-012022-12-31",
      "name": "us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails",
     "longName": "995546 - Disclosure - Schedule of Intangible Assets, Net (Details)",
     "shortName": "Schedule of Intangible Assets, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails",
     "longName": "995547 - Disclosure - Schedule of Future Amortization Expense (Details)",
     "shortName": "Schedule of Future Amortization Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative",
     "longName": "995548 - Disclosure - Goodwill and Intangible Assets (Details Narrative)",
     "shortName": "Goodwill and Intangible Assets (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R46": {
     "role": "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails",
     "longName": "995549 - Disclosure - Schedule of Accrued Expenses (Details)",
     "shortName": "Schedule of Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccruedPayrollTaxesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccruedPayrollTaxesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
     "longName": "995550 - Disclosure - Summary of Revenue by Geographic Area (Details)",
     "shortName": "Summary of Revenue by Geographic Area (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails",
     "longName": "995551 - Disclosure - Schedule of Deferred Revenue (Details)",
     "shortName": "Schedule of Deferred Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "CODX:IncreaseDueToPrepaymentsFromCustomers",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "CODX:IncreaseDueToPrepaymentsFromCustomers",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails",
     "longName": "995552 - Disclosure - Schedule of Basis and Diluted Earnings Per Share (Details)",
     "shortName": "Schedule of Basis and Diluted Earnings Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R50": {
     "role": "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
     "longName": "995553 - Disclosure - Earnings per Share (Details Narrative)",
     "shortName": "Earnings per Share (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails",
     "longName": "995554 - Disclosure - Schedule of Option Activity (Details)",
     "shortName": "Schedule of Option Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails",
     "longName": "995555 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Party (Details)",
     "shortName": "Schedule of Outstanding Restricted Stock Units and Related Party (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails",
     "longName": "995556 - Disclosure - Schedule of Warrant Activity (Details)",
     "shortName": "Schedule of Warrant Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
     "longName": "995557 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)",
     "shortName": "Schedule of Recognized Stock-based Compensation Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
     "longName": "995558 - Disclosure - Stock-Based Compensation (Details Narrative)",
     "shortName": "Stock-Based Compensation (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:ClassOfWarrantOrRightOutstanding",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails",
     "longName": "995559 - Disclosure - Schedule of Components Income Tax Provision (Details)",
     "shortName": "Schedule of Components Income Tax Provision (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails",
     "longName": "995560 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)",
     "shortName": "Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "995561 - Disclosure - Schedule of Deferred Tax Assets and Liabilities (Details)",
     "shortName": "Schedule of Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails",
     "longName": "995562 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)",
     "shortName": "Schedule of Unrecognized Tax Benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative",
     "longName": "995563 - Disclosure - Income Taxes (Details Narrative)",
     "shortName": "Income Taxes (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails",
     "longName": "995564 - Disclosure - Schedule of Lease Expense (Details)",
     "shortName": "Schedule of Lease Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails",
     "longName": "995565 - Disclosure - Schedule of Maturities on Company Lease Liabilities (Details)",
     "shortName": "Schedule of Maturities on Company Lease Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails",
     "longName": "995566 - Disclosure - Schedule of Other Information Related to Operating Lease (Details)",
     "shortName": "Schedule of Other Information Related to Operating Lease (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "CODX:ScheduleOfOperatingLeaseTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "CODX:ScheduleOfOperatingLeaseTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "longName": "995567 - Disclosure - Commitments and Contingencies (Details Narrative)",
     "shortName": "Commitments and Contingencies (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLeaseLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_LeaseAmendmentMember",
      "name": "us-gaap:OperatingLeaseLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails",
     "longName": "995568 - Disclosure - Schedule of Treasury Stock (Details)",
     "shortName": "Schedule of Treasury Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "CODX:RepurchasesOfCommonStock",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "CODX:ScheduleOfTreasuryStockTableTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative",
     "longName": "995569 - Disclosure - Share Repurchase Program (Details Narrative)",
     "shortName": "Share Repurchase Program (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "AsOf2022-03-31",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-03-31",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative",
     "longName": "995570 - Disclosure - Related Party Transactions (Details Narrative)",
     "shortName": "Related Party Transactions (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ResearchAndDevelopmentExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_SethEganMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/AccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Expenses",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "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": [
      "r28",
      "r667"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r240",
      "r241",
      "r639"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "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": [
      "r621"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "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": [
      "r240",
      "r241"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "totalLabel": "Total 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": [
      "r31"
     ]
    },
    "us-gaap_AccruedPayrollTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedPayrollTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payroll liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedSalesCommissionCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distributor commissions",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r641"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r156",
      "r495"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive income",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r37",
      "r96",
      "r165",
      "r492",
      "r515",
      "r516"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r14",
      "r37",
      "r412",
      "r415",
      "r448",
      "r511",
      "r512",
      "r786",
      "r787",
      "r788",
      "r794",
      "r795",
      "r796"
     ]
    },
    "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": [
      "r729"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r667",
      "r882"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "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": [
      "r365",
      "r366",
      "r367",
      "r529",
      "r794",
      "r795",
      "r796",
      "r860",
      "r883"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net loss to cash (used in) provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r699",
      "r711",
      "r721",
      "r747"
     ]
    },
    "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": [
      "r702",
      "r714",
      "r724",
      "r750"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r735"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r742"
     ]
    },
    "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/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r706",
      "r715",
      "r725",
      "r742",
      "r751",
      "r755",
      "r763"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "auth_ref": [
      "r761"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total stock-based compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r372"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Doubtful accounts",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r244",
      "r251"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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": [
      "r707"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities excluded from computation of diluted earnings per share",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r216"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r406"
     ]
    },
    "us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionContingentConsiderationLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent consideration liabilities, current",
        "documentation": "Amount of liability recognized from contingent consideration in asset acquisition, classified as current."
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetAcquisitionContingentConsiderationLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent consideration liabilities",
        "documentation": "Amount of liability recognized from contingent consideration in asset acquisition, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "us-gaap_AssetImpairmentCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetImpairmentCharges",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment charges",
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r56"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets [Default Label]",
        "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": [
      "r128",
      "r159",
      "r192",
      "r223",
      "r230",
      "r234",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r407",
      "r409",
      "r429",
      "r487",
      "r566",
      "r667",
      "r680",
      "r817",
      "r818",
      "r867"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "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://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "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": [
      "r151",
      "r169",
      "r192",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r407",
      "r409",
      "r429",
      "r667",
      "r817",
      "r818",
      "r867"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total assets measured at fair value",
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r70"
     ]
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r707"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r692",
      "r694",
      "r707"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r692",
      "r694",
      "r707"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r692",
      "r694",
      "r707"
     ]
    },
    "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": [
      "r758"
     ]
    },
    "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": [
      "r759"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r754"
     ]
    },
    "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": [
      "r754"
     ]
    },
    "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": [
      "r754"
     ]
    },
    "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": [
      "r754"
     ]
    },
    "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": [
      "r754"
     ]
    },
    "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": [
      "r754"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "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": [
      "r334",
      "r335",
      "r336",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362"
     ]
    },
    "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": [
      "r757"
     ]
    },
    "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": [
      "r756"
     ]
    },
    "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": [
      "r755"
     ]
    },
    "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": [
      "r755"
     ]
    },
    "CODX_BusinessAcquisitionMeasurementPeriodAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "BusinessAcquisitionMeasurementPeriodAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business acquisition measurement period adjustments",
        "documentation": "Business acquisition measurement period adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Fair value as of December 31, 2022",
        "periodEndLabel": "Fair value as of December 31, 2023",
        "label": "Business Combination, Contingent Consideration, Liability, Noncurrent",
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r69"
     ]
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/OverviewAndBasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Overview and Basis of Presentation",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r110",
      "r111"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "verboseLabel": "Cash and Cash Equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r154",
      "r637"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Axis]",
        "documentation": "Information by type of cash and cash equivalent balance."
       }
      }
     },
     "auth_ref": [
      "r154"
     ]
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash equivalents",
        "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [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_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, and Financial Instruments",
        "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents at beginning of period",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r107",
      "r189"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net decrease in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r107"
     ]
    },
    "us-gaap_CashMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash [Member]",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r154"
     ]
    },
    "CODX_ChangeInValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ChangeInValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Change in valuation allowance",
        "documentation": "Change in valuation allowance.",
        "label": "ChangeInValuationAllowance"
       }
      }
     },
     "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": [
      "r733"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "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": [
      "r145",
      "r161",
      "r162",
      "r163",
      "r192",
      "r210",
      "r211",
      "r213",
      "r215",
      "r221",
      "r222",
      "r248",
      "r275",
      "r277",
      "r278",
      "r279",
      "r282",
      "r283",
      "r286",
      "r287",
      "r289",
      "r292",
      "r298",
      "r429",
      "r520",
      "r521",
      "r522",
      "r523",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r554",
      "r575",
      "r597",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r772",
      "r791",
      "r797"
     ]
    },
    "CODX_ClassOfWarrantExercisable": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ClassOfWarrantExercisable",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants exercisable",
        "documentation": "Class of warrant exercisable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfWarrantOrRightOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfWarrantOrRightOutstanding",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants purchase",
        "documentation": "Number of warrants or rights outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_CoSaraDiagnosticsPvtLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "CoSaraDiagnosticsPvtLtdMember",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CoSara Diagnostics Pvt Ltd [Member]",
        "documentation": "CoSara Diagnostics Pvt Ltd [Member]"
       }
      }
     },
     "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": [
      "r734"
     ]
    },
    "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": [
      "r734"
     ]
    },
    "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [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": [
      "r406"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (Note 12)",
        "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": [
      "r33",
      "r77",
      "r489",
      "r553"
     ]
    },
    "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://codiagnostics.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r269",
      "r270",
      "r622",
      "r814"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r670",
      "r671",
      "r672",
      "r674",
      "r675",
      "r676",
      "r677",
      "r794",
      "r795",
      "r860",
      "r881",
      "r883"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "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": [
      "r90",
      "r554"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "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": [
      "r90"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "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": [
      "r15",
      "r90",
      "r554",
      "r572",
      "r883",
      "r884"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $0.001 par value; 100,000,000 shares authorized; 36,108,346 shares issued and 31,259,668 shares outstanding as of December 31, 2023 and 34,754,265 shares issued and 30,872,607 shares outstanding as of December 31, 2022",
        "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": [
      "r90",
      "r491",
      "r667"
     ]
    },
    "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": [
      "r739"
     ]
    },
    "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": [
      "r738"
     ]
    },
    "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": [
      "r740"
     ]
    },
    "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": [
      "r737"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive loss",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r174",
      "r176",
      "r182",
      "r482",
      "r500"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss)",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48",
      "r72",
      "r73",
      "r239",
      "r621"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48",
      "r72",
      "r73",
      "r239",
      "r517",
      "r621"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "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": [
      "r45",
      "r48",
      "r72",
      "r73",
      "r239",
      "r621",
      "r775"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentrations Risk and Significant Customers",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r138"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration risk percentage",
        "verboseLabel": "Percentage of revenue",
        "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": [
      "r45",
      "r48",
      "r72",
      "r73",
      "r239"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "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": [
      "r45",
      "r48",
      "r72",
      "r73",
      "r239",
      "r621"
     ]
    },
    "CODX_ContingentConsideredIssuedForBusinessAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ContingentConsideredIssuedForBusinessAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in fair value of contingent consideration issued for business acquisitions",
        "documentation": "Contingent considered issued for business acquisitions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Revenue",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r820"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Deferred revenue, beginning balance",
        "periodEndLabel": "Deferred revenue, ending balance",
        "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": [
      "r300",
      "r301",
      "r320"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "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": [
      "r300",
      "r301",
      "r320"
     ]
    },
    "us-gaap_ConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertiblePreferredStockMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Preferred Stock [Member]",
        "documentation": "Preferred stock that may be exchanged into common shares or other types of securities at the owner's option."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r287",
      "r289",
      "r674",
      "r675",
      "r676",
      "r677"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r192",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r429",
      "r817"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://codiagnostics.com/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": []
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current",
        "label": "Current Federal, State and Local, Tax Expense (Benefit)",
        "documentation": "Amount of current federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r777"
     ]
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r777",
      "r793",
      "r857"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://codiagnostics.com/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": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r777",
      "r793",
      "r857"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "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": [
      "r46",
      "r239"
     ]
    },
    "CODX_CustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "CustomersMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customers [Member]",
        "documentation": "Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_CustomersTogetherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "CustomersTogetherMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customers Together [Member]",
        "documentation": "Customers Together [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Federal",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r793",
      "r856",
      "r857"
     ]
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred",
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal, state, and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national, regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r126",
      "r142",
      "r400",
      "r401",
      "r793"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Total deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r88",
      "r129",
      "r390"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liability",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r380",
      "r488"
     ]
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue",
        "label": "Deferred Revenue [Default Label]",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "State",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r793",
      "r856",
      "r857"
     ]
    },
    "CODX_DeferredTaxAssetsCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "DeferredTaxAssetsCosts",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Section 174 costs",
        "documentation": "Deferred tax assets costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total gross deferred tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r391"
     ]
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGrossAbstract",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development credit carry forwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "CODX_DeferredTaxAssetsLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "DeferredTaxAssetsLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liability",
        "documentation": "Deferred tax assets lease liability."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Net deferred tax liability",
        "label": "Deferred Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r854"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax assets",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r854"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible state and local operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State research and development credit carryforwards",
        "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development credits",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred compensation",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reserves and allowances",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "CODX_DeferredTaxAssetsUniformCapitalization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "DeferredTaxAssetsUniformCapitalization",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNICAP",
        "documentation": "Deferred tax assets uniform capitalization."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r392"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Intangibles, net",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other",
        "label": "Deferred Tax Liabilities, Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesOtherComprehensiveIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOtherComprehensiveIncome",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other comprehensive income",
        "label": "Deferred Tax Liabilities, Other Comprehensive Income",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains in other comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPrepaidExpenses",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaids",
        "label": "Deferred Tax Liabilities, Prepaid Expenses",
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Property and equipment, net",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r855"
     ]
    },
    "CODX_DeferredTaxLiabilitiesRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "DeferredTaxLiabilitiesRightOfUseAsset",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Right of use asset",
        "documentation": "Deferred tax liabilities right of use asset.",
        "label": "DeferredTaxLiabilitiesRightOfUseAsset"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "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": [
      "r9",
      "r57"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Depreciation and amortization",
        "label": "Depreciation, Depletion and Amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r226"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "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": [
      "r319",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "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": [
      "r319",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-Based Compensation",
        "documentation": "Tabular disclosure of share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r62"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r694"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r692",
      "r694",
      "r707"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r692",
      "r694",
      "r707",
      "r743"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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": [
      "r693"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r681"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r694"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r694"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r728"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic",
        "verboseLabel": "Basic earnings 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": [
      "r183",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r208",
      "r210",
      "r213",
      "r214",
      "r215",
      "r219",
      "r419",
      "r420",
      "r483",
      "r501",
      "r645"
     ]
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasicAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss per common share:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted",
        "verboseLabel": "Diluted earnings 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": [
      "r183",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r210",
      "r213",
      "r214",
      "r215",
      "r219",
      "r419",
      "r420",
      "r483",
      "r501",
      "r645"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (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": [
      "r43",
      "r44"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r216",
      "r217",
      "r218"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal income tax expense at statutory rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r193",
      "r382",
      "r402"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Change in valuation allowance",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r858"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "- Other permanent differences",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates."
       }
      }
     },
     "auth_ref": [
      "r402",
      "r851"
     ]
    },
    "CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Change in uncertain tax positions",
        "documentation": "Effective income tax rate reconciliation change in valuation allowance.",
        "label": "EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement": {
     "xbrltype": "percentItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "- Contingent consideration remeasurement",
        "documentation": "Effective income tax rate reconciliation contingent consideration remeasurement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiPercent",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "- Foreign derived intangible income deduction",
        "documentation": "Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r851"
     ]
    },
    "CODX_EffectiveIncomeTaxRateReconciliationGoodwillImpairment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationGoodwillImpairment",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "- Goodwill impairment",
        "documentation": "Effective income tax rate reconciliation Goodwill impairment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Research and development credits",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development expense."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r858"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r858"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective income tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent",
        "documentation": "Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Permanent differences:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "- Stock based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r773",
      "r851"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State income tax expense, net of federal tax benefit",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r858"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized stock-based compensation",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r364"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative"
     ],
     "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": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/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": [
      "r687"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r683"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r771"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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": [
      "r683"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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": [
      "r768"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r707"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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": [
      "r683"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r683"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r683"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://codiagnostics.com/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://codiagnostics.com/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": [
      "r769"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquipmentMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "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": [
      "r15",
      "r149",
      "r178",
      "r179",
      "r180",
      "r194",
      "r195",
      "r196",
      "r198",
      "r204",
      "r206",
      "r220",
      "r249",
      "r250",
      "r299",
      "r365",
      "r366",
      "r367",
      "r396",
      "r397",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r418",
      "r430",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r448",
      "r511",
      "r512",
      "r513",
      "r529",
      "r597"
     ]
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity-Method Investments",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r74",
      "r247"
     ]
    },
    "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": [
      "r736"
     ]
    },
    "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": [
      "r699",
      "r711",
      "r721",
      "r747"
     ]
    },
    "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": [
      "r696",
      "r708",
      "r718",
      "r744"
     ]
    },
    "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": [
      "r742"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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": [
      "r422",
      "r423",
      "r427"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r422",
      "r423",
      "r427"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Changes in the Fair Value Measurement",
        "documentation": "Tabular disclosure of financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r70",
      "r71",
      "r127"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement Inputs and Valuation Techniques [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]",
        "documentation": "Disclosure of information about 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": [
      "r16"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Contingent Consideration Common Stock and Warrants",
        "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": [
      "r16"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Fair Value Assets and Liabilities",
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r127"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r423",
      "r457",
      "r458",
      "r459",
      "r650",
      "r651",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Axis]",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r422",
      "r423",
      "r425",
      "r426",
      "r428"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurements",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r421"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r323",
      "r328",
      "r423",
      "r457",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r323",
      "r328",
      "r423",
      "r458",
      "r650",
      "r651",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r423",
      "r459",
      "r650",
      "r651",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r457",
      "r458",
      "r459",
      "r650",
      "r651",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring [Member]",
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r428"
     ]
    },
    "CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value of contingent common stock issued as consideration for business acquisitions",
        "documentation": "Fair value of contingent common stock and warrants issued as consideration for business acquisitions."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_FairValueOfContingentConsiderationToCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "FairValueOfContingentConsiderationToCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent consideration - common stock",
        "documentation": "Fair value of contingent consideration to common stock."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_FairValueOfContingentConsiderationToWarrants": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "FairValueOfContingentConsiderationToWarrants",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent consideration - warrants",
        "documentation": "Fair value of contigent consideration to warrants."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancingReceivableAllowanceForCreditLosses",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Credit Losses",
        "documentation": "Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r146",
      "r147",
      "r148",
      "r166",
      "r251",
      "r252",
      "r254",
      "r876"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated useful lives in years",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less accumulated amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r265"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r264",
      "r265",
      "r266",
      "r465",
      "r466"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r466"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r465"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r55"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r465"
     ]
    },
    "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": [
      "r703",
      "r715",
      "r725",
      "r751"
     ]
    },
    "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": [
      "r703",
      "r715",
      "r725",
      "r751"
     ]
    },
    "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": [
      "r703",
      "r715",
      "r725",
      "r751"
     ]
    },
    "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": [
      "r703",
      "r715",
      "r725",
      "r751"
     ]
    },
    "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": [
      "r703",
      "r715",
      "r725",
      "r751"
     ]
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnDispositionOfAssets1",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 3.0
      },
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss on disposition of assets",
        "negatedLabel": "Loss on disposition of assets",
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "us-gaap_GainLossOnSaleOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfInvestments",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 5.0
      },
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (loss) on equity method investment in joint venture",
        "negatedLabel": "(Gain) loss from equity method investment",
        "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "CODX_GainOnRemeasurementOfAcquisitionContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "GainOnRemeasurementOfAcquisitionContingencies",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 4.0
      },
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on remeasurement of acquisition contingencies",
        "negatedLabel": "Change in fair value of acquisition contingencies",
        "documentation": "Gain on remeasurement of acquisition contingencies."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and administrative",
        "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": [
      "r104",
      "r577"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and Administrative Expense [Member]",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicConcentrationRiskMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r621"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Goodwil - beginning",
        "periodEndLabel": "Goodwill - ending",
        "label": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r259",
      "r479",
      "r649",
      "r667",
      "r803",
      "r810"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill and Intangible Assets",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r51"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      },
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfGoodwillDetails",
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill impairment charges",
        "negatedLabel": "Goodwill impairment charges",
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r260",
      "r261",
      "r262",
      "r649"
     ]
    },
    "us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillTranslationAndPurchaseAccountingAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement period adjustments",
        "documentation": "Amount of increase (decrease) from foreign currency translation adjustments and purchase accounting adjustments of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r802"
     ]
    },
    "CODX_GrantFundingRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "GrantFundingRevenue",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grant funding revenue",
        "documentation": "Grant Funding Revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrantMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grant [Member]",
        "documentation": "Award of money not required to be repaid."
       }
      }
     },
     "auth_ref": [
      "r822"
     ]
    },
    "CODX_GrantRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "GrantRevenueMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grant Revenue [Member]",
        "documentation": "Grant Revenue [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_GrantRevenuePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "GrantRevenuePolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grant Revenue",
        "documentation": "Grant Revenue [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "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": [
      "r102",
      "r192",
      "r223",
      "r229",
      "r233",
      "r235",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r429",
      "r647",
      "r817"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r692",
      "r694",
      "r707"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r118"
     ]
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InProcessResearchAndDevelopmentMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "In Process Research and Development [Member]",
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r97",
      "r131",
      "r223",
      "r229",
      "r233",
      "r235",
      "r484",
      "r497",
      "r647"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r268",
      "r582"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r268",
      "r582"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r193",
      "r375",
      "r383",
      "r388",
      "r394",
      "r398",
      "r403",
      "r404",
      "r405",
      "r525"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax benefit",
        "totalLabel": "Total income tax benefit",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r143",
      "r205",
      "r206",
      "r227",
      "r381",
      "r399",
      "r503"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income Taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r177",
      "r377",
      "r378",
      "r388",
      "r389",
      "r393",
      "r395",
      "r519"
     ]
    },
    "us-gaap_IncomeTaxReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReceivable",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes receivable",
        "documentation": "Carrying amount as of the balance sheet date of income taxes previously overpaid to tax authorities (such as U.S. Federal, state and local tax authorities) representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes. Also called income tax refund receivable."
       }
      }
     },
     "auth_ref": [
      "r781"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income 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": [
      "r42"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable, accrued expenses and other liabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes payable",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "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": [
      "r462",
      "r789"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "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": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "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://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other 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": [
      "r8"
     ]
    },
    "CODX_IncreaseDueToPrepaymentsFromCustomers": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "IncreaseDueToPrepaymentsFromCustomers",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase due to prepayments from customers",
        "documentation": "Increase due to prepayments from customers."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_IncreaseDueToPrepaymentsFromGrantsReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "IncreaseDueToPrepaymentsFromGrantsReceived",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase due to prepayments from grants received",
        "documentation": "Increase due to prepayments from grants received."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_IndefiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "stringItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "IndefiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated useful lives in years, term",
        "documentation": "Indefinite lived intangible asset useful life."
       }
      }
     },
     "auth_ref": []
    },
    "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/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r706",
      "r715",
      "r725",
      "r742",
      "r751",
      "r755",
      "r763"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "auth_ref": [
      "r761"
     ]
    },
    "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": [
      "r695",
      "r767"
     ]
    },
    "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": [
      "r695",
      "r767"
     ]
    },
    "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": [
      "r695",
      "r767"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, 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": [
      "r52",
      "r54"
     ]
    },
    "us-gaap_InterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeOther",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Amount of interest income earned from interest bearing assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r187",
      "r188"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, finished goods, gross",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, net",
        "verboseLabel": "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": [
      "r168",
      "r638",
      "r667"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "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": [
      "r137",
      "r153",
      "r167",
      "r255",
      "r256",
      "r258",
      "r463",
      "r642"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, raw materials, gross",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r784"
     ]
    },
    "us-gaap_InventoryWriteDown": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWriteDown",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory obsolescence expense",
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels."
       }
      }
     },
     "auth_ref": [
      "r257"
     ]
    },
    "CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price, Issued",
        "documentation": "Issued For Adjustments To Contingent Purchase Consideration Period Weighted Average Exercise Price."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value, Issued",
        "documentation": "Issued for adjustments to contingent purchase consideration weighted average grant date fair value."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_LeaseAmendmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "LeaseAmendmentMember",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Amendment [Member]",
        "documentation": "Lease Amendment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease costs",
        "label": "Lease, Cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r666"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Lease Expense",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_LeaseholdsAndLeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdsAndLeaseholdImprovementsMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leaseholds and Leasehold Improvements [Member]",
        "documentation": "Asset held by lessee under finance lease and addition or improvement to asset held under lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Maturities on Company Lease Liabilities",
        "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": [
      "r865"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total 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": [
      "r447"
     ]
    },
    "CODX_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thereafter",
        "documentation": "Lessee operating lease liability payments due after year four."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r447"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r447"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "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": [
      "r447"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "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": [
      "r447"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less: imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r447"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "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": [
      "r30",
      "r192",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r408",
      "r409",
      "r410",
      "r429",
      "r552",
      "r646",
      "r680",
      "r817",
      "r867",
      "r868"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders\u2019 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": [
      "r95",
      "r130",
      "r494",
      "r667",
      "r792",
      "r801",
      "r863"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and stockholders\u2019 equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "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": [
      "r32",
      "r152",
      "r192",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r408",
      "r409",
      "r410",
      "r429",
      "r667",
      "r817",
      "r867",
      "r868"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total liabilities measured at fair value",
        "documentation": "Fair value of financial and nonfinancial obligations."
       }
      }
     },
     "auth_ref": [
      "r70"
     ]
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total long-term liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r83",
      "r84",
      "r85",
      "r86",
      "r192",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r408",
      "r409",
      "r410",
      "r429",
      "r817",
      "r867",
      "r868"
     ]
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesNoncurrentAbstract",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r239",
      "r655",
      "r821",
      "r879",
      "r880"
     ]
    },
    "us-gaap_MarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecurities",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable Securities",
        "verboseLabel": "Marketable securities (U.S. treasury bills and notes)",
        "documentation": "Amount of investment in marketable security."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r779"
     ]
    },
    "us-gaap_MarketableSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable investment securities",
        "documentation": "Amount of investment in marketable security, classified as current."
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesPolicy",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable Investment Securities",
        "documentation": "Disclosure of accounting policy for investment classified as marketable security."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "us-gaap_MarketableSecuritiesUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesUnrealizedGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Unrealized Gains / (Losses)",
        "documentation": "Amount of unrealized gain (loss) on investment in marketable security."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r271",
      "r272",
      "r273",
      "r274",
      "r330",
      "r461",
      "r510",
      "r544",
      "r545",
      "r605",
      "r607",
      "r609",
      "r610",
      "r612",
      "r632",
      "r633",
      "r648",
      "r652",
      "r663",
      "r669",
      "r819",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874"
     ]
    },
    "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": [
      "r734"
     ]
    },
    "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": [
      "r734"
     ]
    },
    "us-gaap_MeasurementInputExpectedTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputExpectedTermMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input, Expected Term [Member]",
        "documentation": "Measurement input using period financial instrument is expected to be outstanding. Excludes maturity date."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "us-gaap_MeasurementInputPriceVolatilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputPriceVolatilityMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input, Price Volatility [Member]",
        "documentation": "Measurement input using rate at which price of security will increase (decrease) for given set of returns."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "us-gaap_MeasurementInputRiskFreeInterestRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputRiskFreeInterestRateMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input, Risk Free Interest Rate [Member]",
        "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "us-gaap_MeasurementInputSharePriceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputSharePriceMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input, Share Price [Member]",
        "documentation": "Measurement input using share price of saleable stock."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "CODX_MeasurementInputStrikePriceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "MeasurementInputStrikePriceMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Strike Price [Member]",
        "documentation": "Measurement Input Strike Price [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Input Type [Axis]",
        "documentation": "Information by type of measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": [
      "r424"
     ]
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r271",
      "r272",
      "r273",
      "r274",
      "r330",
      "r461",
      "r510",
      "r544",
      "r545",
      "r605",
      "r607",
      "r609",
      "r610",
      "r612",
      "r632",
      "r633",
      "r648",
      "r652",
      "r663",
      "r669",
      "r819",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874"
     ]
    },
    "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": [
      "r754"
     ]
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Money Market Funds [Member]",
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities."
       }
      }
     },
     "auth_ref": [
      "r823"
     ]
    },
    "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": [
      "r762"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r239",
      "r655",
      "r821",
      "r879",
      "r880"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) 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": [
      "r186"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by 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": [
      "r186"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "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://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by 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": [
      "r107",
      "r108",
      "r109"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net loss",
        "label": "Net loss",
        "verboseLabel": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net loss, as reported",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r109",
      "r132",
      "r150",
      "r172",
      "r175",
      "r180",
      "r192",
      "r197",
      "r199",
      "r200",
      "r201",
      "r202",
      "r205",
      "r206",
      "r212",
      "r223",
      "r229",
      "r233",
      "r235",
      "r248",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r420",
      "r429",
      "r498",
      "r574",
      "r595",
      "r596",
      "r647",
      "r678",
      "r817"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recently Issued Accounting Standards",
        "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://codiagnostics.com/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": [
      "r734"
     ]
    },
    "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": [
      "r732"
     ]
    },
    "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": [
      "r731"
     ]
    },
    "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": [
      "r762"
     ]
    },
    "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": [
      "r762"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of non-cash investing and financing transactions"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_NoncashLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "NoncashLeaseExpense",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-cash lease expense",
        "documentation": "Noncash lease expense."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory moved to property, plant and equipment",
        "documentation": "Noncash or part noncash inventory moved to property plant and equipment.."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncompeteAgreementsMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncompete Agreements [Member]",
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other income, net",
        "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": [
      "r105"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NotesAndLoansReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesAndLoansReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note receivable",
        "documentation": "Amortized cost, after allowance for credit loss, of financing receivable classified as current. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r240",
      "r241",
      "r480"
     ]
    },
    "us-gaap_OfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OfficeEquipmentMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office Equipment [Member]",
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_OneCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "OneCustomerMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "One Customer [Member]",
        "documentation": "One Customer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_OneGrantingAgencyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "OneGrantingAgencyMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "One Granting Agency [Member]",
        "documentation": "One Granting Agency [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating 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. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "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://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r223",
      "r229",
      "r233",
      "r235",
      "r647"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease costs",
        "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": [
      "r441",
      "r666"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Present value of operating lease liabilities",
        "verboseLabel": "Operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r438"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liability, current",
        "verboseLabel": "Less: current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r438"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfMaturitiesOnCompanyLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liability",
        "verboseLabel": "Long-term portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r438"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid for operating leases included in operating cash flows",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r439",
      "r443"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease right-of-use asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r437"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discount rate of operating leases",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r446",
      "r666"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOtherInformationRelatedToOperatingLeaseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining lease term of operating leases",
        "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": [
      "r445",
      "r666"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating loss carry-forwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other accrued liabilities",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other comprehensive income (loss)",
        "label": "Other Comprehensive Income (Loss), before Tax",
        "documentation": "Amount before tax, after reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r430",
      "r431",
      "r436",
      "r481",
      "r499",
      "r786",
      "r787"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive loss, net of tax",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r26",
      "r173",
      "r176",
      "r181",
      "r430",
      "r431",
      "r436",
      "r481",
      "r499",
      "r786",
      "r787"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive loss"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossBeforeTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in net unrealized gains on marketable securities, net of tax",
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r171",
      "r246"
     ]
    },
    "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": [
      "r734"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r694"
     ]
    },
    "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": [
      "r701",
      "r713",
      "r723",
      "r749"
     ]
    },
    "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": [
      "r704",
      "r716",
      "r726",
      "r752"
     ]
    },
    "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": [
      "r704",
      "r716",
      "r726",
      "r752"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r730"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_PaymentToRelatedParty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "PaymentToRelatedParty",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value of equity awards",
        "documentation": "Payment to related party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchases of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireMarketableSecurities",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of marketable securities",
        "label": "Payments to Acquire Marketable Securities",
        "documentation": "Amount of cash outflow for purchase of marketable security."
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of property and equipment",
        "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": [
      "r106"
     ]
    },
    "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": [
      "r733"
     ]
    },
    "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": [
      "r733"
     ]
    },
    "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": [
      "r732"
     ]
    },
    "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": [
      "r735"
     ]
    },
    "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": [
      "r731"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847",
      "r848",
      "r849"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r688"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r689"
     ]
    },
    "us-gaap_PreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock [Member]",
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company."
       }
      }
     },
     "auth_ref": [
      "r670",
      "r671",
      "r674",
      "r675",
      "r676",
      "r677",
      "r881",
      "r883"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible 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": [
      "r89",
      "r286"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible 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": [
      "r89",
      "r554"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible 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": [
      "r89",
      "r286"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible 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": [
      "r89",
      "r554",
      "r572",
      "r883",
      "r884"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively",
        "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": [
      "r89",
      "r490",
      "r667"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "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": [
      "r785"
     ]
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassifications",
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error."
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from exercise of options and warrants",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from maturities of marketable investment securities",
        "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductInformationLineItems",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product [Member]",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r653"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss",
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r236",
      "r464",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r635",
      "r653",
      "r668",
      "r776",
      "r815",
      "r816",
      "r821",
      "r879"
     ]
    },
    "CODX_ProductRevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ProductRevenueMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Revenue [Member]",
        "documentation": "Product Revenue [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss",
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "auth_ref": [
      "r236",
      "r464",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r635",
      "r653",
      "r668",
      "r776",
      "r815",
      "r816",
      "r821",
      "r879"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/PropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and Equipment",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r139",
      "r140",
      "r141"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r155",
      "r496"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "totalLabel": "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": [
      "r10",
      "r485",
      "r496",
      "r667"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/PropertyAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Property and Equipment",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment estimated useful lives",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for credit losses",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r253"
     ]
    },
    "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": [
      "r730"
     ]
    },
    "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": [
      "r730"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r271",
      "r272",
      "r273",
      "r274",
      "r322",
      "r330",
      "r359",
      "r360",
      "r361",
      "r460",
      "r461",
      "r510",
      "r544",
      "r545",
      "r605",
      "r607",
      "r609",
      "r610",
      "r612",
      "r632",
      "r633",
      "r648",
      "r652",
      "r663",
      "r669",
      "r672",
      "r813",
      "r819",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "auth_ref": [
      "r271",
      "r272",
      "r273",
      "r274",
      "r322",
      "r330",
      "r359",
      "r360",
      "r361",
      "r460",
      "r461",
      "r510",
      "r544",
      "r545",
      "r605",
      "r607",
      "r609",
      "r610",
      "r612",
      "r632",
      "r633",
      "r648",
      "r652",
      "r663",
      "r669",
      "r672",
      "r813",
      "r819",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874"
     ]
    },
    "us-gaap_RealEstateInvestmentsJointVentures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RealEstateInvestmentsJointVentures",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment in joint venture",
        "documentation": "The book value of investments in real estate joint ventures including direct and indirect investments."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "us-gaap_RealizedInvestmentGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RealizedInvestmentGainsLosses",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      },
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Realized gain on investments",
        "negatedLabel": "Realized gain on investments",
        "documentation": "Amount of realized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r502"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r696",
      "r708",
      "r718",
      "r744"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r452",
      "r453",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r571",
      "r573",
      "r604"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [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": [
      "r578",
      "r579",
      "r582"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r452",
      "r453",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r571",
      "r573",
      "r604",
      "r866"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r449",
      "r450",
      "r451",
      "r453",
      "r454",
      "r526",
      "r527",
      "r528",
      "r580",
      "r581",
      "r582",
      "r601",
      "r603"
     ]
    },
    "CODX_RepurchasesOfCommonStock": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "RepurchasesOfCommonStock",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchases of common stock",
        "documentation": "Repurchases of common stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development",
        "verboseLabel": "Research and development expenses",
        "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": [
      "r81",
      "r374",
      "r875"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense [Member]",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development",
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process."
       }
      }
     },
     "auth_ref": [
      "r373"
     ]
    },
    "CODX_RestOfWorldMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "RestOfWorldMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rest of World [Member]",
        "documentation": "Rest of World [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "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": [
      "r697",
      "r709",
      "r719",
      "r745"
     ]
    },
    "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": [
      "r698",
      "r710",
      "r720",
      "r746"
     ]
    },
    "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": [
      "r705",
      "r717",
      "r727",
      "r753"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r154"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r121",
      "r493",
      "r514",
      "r516",
      "r524",
      "r555",
      "r667"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r194",
      "r195",
      "r196",
      "r198",
      "r204",
      "r206",
      "r249",
      "r250",
      "r365",
      "r366",
      "r367",
      "r396",
      "r397",
      "r411",
      "r413",
      "r414",
      "r416",
      "r418",
      "r511",
      "r513",
      "r529",
      "r883"
     ]
    },
    "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",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total revenue",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r228",
      "r231",
      "r232",
      "r236",
      "r237",
      "r239",
      "r318",
      "r319",
      "r464"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue geographic area",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r228",
      "r231",
      "r232",
      "r236",
      "r237",
      "r239",
      "r318",
      "r319",
      "r464"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r634"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/Revenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue",
        "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": [
      "r144",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r321"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r634",
      "r643"
     ]
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-use assets obtained in exchange for new operating lease liabilities",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r444",
      "r666"
     ]
    },
    "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": [
      "r762"
     ]
    },
    "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": [
      "r762"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "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": [
      "r239",
      "r774"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/AccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Expenses",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCashAndCashEquivalentsTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Cash and Cash Equivalents [Table]",
        "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/CashCashEquivalentsAndFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Cash, Cash Equivalents and Marketable Investment Securities",
        "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]",
        "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r406"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components Income Tax Provision",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Basis and Diluted Earnings Per Share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Benefit from Income Taxes and Effective Tax Rates",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r55",
      "r465"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Intangible Assets, Net",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r55"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r649",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812"
     ]
    },
    "CODX_ScheduleOfOperatingLeaseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ScheduleOfOperatingLeaseTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Other Information Related to Operating Lease",
        "documentation": "Schedule of Operating Lease [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductInformationTable",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Information [Table]",
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r76",
      "r578",
      "r579",
      "r582"
     ]
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Revenue by Geographic Area",
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r101"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Recognized Stock-based Compensation Expense",
        "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r64"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "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": [
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Outstanding Restricted Stock Units and Related Party",
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Option Activity",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r63"
     ]
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Warrant Activity",
        "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": [
      "r61"
     ]
    },
    "CODX_ScheduleOfTreasuryStockTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ScheduleOfTreasuryStockTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/ShareRepurchaseProgramTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Treasury Stock",
        "documentation": "Schedule of Treasury Stock [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Unrecognized Tax Benefits",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r665",
      "r853"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Future Amortization Expense",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r686"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r685"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r690"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "auth_ref": [
      "r237",
      "r238",
      "r541",
      "r542",
      "r543",
      "r606",
      "r608",
      "r611",
      "r613",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r636",
      "r654",
      "r672",
      "r821",
      "r879"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "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": []
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpenseMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and Marketing Expense [Member]",
        "documentation": "Primary financial statement caption encompassing selling and marketing expense."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "CODX_SethEganMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SethEganMember",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Seth Egan [Member]",
        "documentation": "Seth Egan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock-based compensation expense",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share based payment, vesting period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r664"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of Restricted Stock Units, Forfeited/Cancelled",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r351"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Grant Date Fair Value, Forfeited/Cancelled",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r351"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Restricted Stock Units, Granted",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r349"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Grant Date Fair Value, Granted",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r349"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Number of Restricted Stock Units, Outstanding Beginning",
        "periodEndLabel": "Number of Restricted Stock Units, Outstanding Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r347"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average Grant Date Fair Value, Outstanding Beginning",
        "periodEndLabel": "Weighted Average Grant Date Fair Value, Outstanding Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r347"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of Restricted Stock Units, Vested",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r350"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Grant Date Fair Value, Vested",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r350"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "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": [
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of Warrants Outstanding, Exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised",
        "documentation": "Number of non-option equity instruments exercised by participants."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of Warrants Outstanding, Expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Expirations",
        "documentation": "Number of shares under non-option equity instrument agreements for which rights to exercise lapsed."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Warrants Outstanding, Forfeited/Cancelled",
        "documentation": "Number of shares under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Warrants Outstanding, Granted",
        "documentation": "Net number of non-option equity instruments granted to participants."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Number of Warrants Outstanding, Beginning",
        "periodEndLabel": "Number of Warrants Outstanding, Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18"
     ]
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value, Exercised",
        "documentation": "Weighted average fair value, exercised."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average Exercise Price, Beginning",
        "documentation": "Weighted average exercise price, beginning.",
        "label": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average fair value, Beginning",
        "documentation": "Share based compensation arrangement by share based payment award non options outstanding weighted average fair value.",
        "label": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of common shares availalble for issuance",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Number of Options Exercisable Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "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": [
      "r340"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average Exercise Price, Exercisable Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "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": [
      "r340"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intrinsic value of options value exercised",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r353"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Options Outstanding, Expired",
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements."
       }
      }
     },
     "auth_ref": [
      "r345"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Options Outstanding, Forfeited/Cancelled",
        "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": [
      "r344"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Options Outstanding, Granted",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value Granted",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r352"
     ]
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average Exercise Price, Ending",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the non-option plan.",
        "label": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of options outstanding",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Number of Options Outstanding, Beginning",
        "periodEndLabel": "Number of Options Outstanding, Ending",
        "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": [
      "r338",
      "r339"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average Exercise Price Outstanding, Beginning",
        "periodEndLabel": "Weighted Average Exercise Price Outstanding, Ending",
        "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": [
      "r338",
      "r339"
     ]
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intrinsic value of warrants exercised",
        "documentation": "Intrinsic value of warrants exercised."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedPartyDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r334",
      "r335",
      "r336",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362"
     ]
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price, Exercised",
        "documentation": "Weighted average exercise price, forfeited/cancelled."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price, Expired",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to non-options of the plan that expired."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price, Forfeited/Cancelled",
        "documentation": "Weighted average exercise price, forfeited/cancelled."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price, Granted",
        "documentation": "Weighted average exercise price granted."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price Exercised",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r343"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price Expired",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired."
       }
      }
     },
     "auth_ref": [
      "r345"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price Forfeited/Cancelled",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r344"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "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": [
      "r342"
     ]
    },
    "CODX_ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Warrants Outstanding, Issued",
        "documentation": "Share based compensation issued for adjustments to contingent purchase consideration."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r337",
      "r356",
      "r357",
      "r358",
      "r359",
      "r362",
      "r368",
      "r369",
      "r370",
      "r371"
     ]
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average Remaining Contractual Life (Years) Outstanding",
        "documentation": "Weighted-average remaining contractual life (years) outstanding, beginning."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3": {
     "xbrltype": "durationItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Weighted-average Remaining Contractual Life (Years) Outstanding",
        "documentation": "Sharebased compensation arrangement by sharebased payment award non options outstanding weighted average remaining contractual term3.",
        "label": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average Fair Value, Ending",
        "documentation": "Weighted average fair value, beginning.",
        "label": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average Remaining Contractual Life (years), Exercisable Ending",
        "verboseLabel": "Weighted average period",
        "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": [
      "r62"
     ]
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value, Expired",
        "documentation": "Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value, Forfeited/Cancelled",
        "documentation": "Weighted average fair value, forfeited/cancelled."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value, Granted",
        "documentation": "Weighted average grant date fair value, granted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value Forfeited/Cancelled",
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average Fair Value Outstanding, Ending",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price",
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted Average Fair Value, Exercisable Ending",
        "documentation": "Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercisable.",
        "label": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value Exercised",
        "documentation": "Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised."
       }
      }
     },
     "auth_ref": []
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average Remaining Contractual Life (years) Outstanding, Ending",
        "documentation": "Sharebased compensation arrangement by sharebased payment award non options outstanding weighted average remaining contractual term."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average Remaining Contractual Life (years) Outstanding, Beginning",
        "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": [
      "r122"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Fair Value Expired",
        "documentation": "Weighted average grant-date fair value of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "periodEndLabel": "Balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term lease costs",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r666"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r190"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r691"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r161",
      "r162",
      "r163",
      "r192",
      "r210",
      "r211",
      "r213",
      "r215",
      "r221",
      "r222",
      "r248",
      "r275",
      "r277",
      "r278",
      "r279",
      "r282",
      "r283",
      "r286",
      "r287",
      "r289",
      "r292",
      "r298",
      "r429",
      "r520",
      "r521",
      "r522",
      "r523",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r554",
      "r575",
      "r597",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r772",
      "r791",
      "r797"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r35",
      "r149",
      "r178",
      "r179",
      "r180",
      "r194",
      "r195",
      "r196",
      "r198",
      "r204",
      "r206",
      "r220",
      "r249",
      "r250",
      "r299",
      "r365",
      "r366",
      "r367",
      "r396",
      "r397",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r418",
      "r430",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r448",
      "r511",
      "r512",
      "r513",
      "r529",
      "r597"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r237",
      "r238",
      "r541",
      "r542",
      "r543",
      "r606",
      "r608",
      "r611",
      "r613",
      "r620",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r636",
      "r654",
      "r672",
      "r821",
      "r879"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "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": [
      "r194",
      "r195",
      "r196",
      "r220",
      "r464",
      "r518",
      "r540",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r554",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r573",
      "r576",
      "r577",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r597",
      "r673"
     ]
    },
    "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",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "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://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "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": [
      "r194",
      "r195",
      "r196",
      "r220",
      "r464",
      "r518",
      "r540",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r554",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r573",
      "r576",
      "r577",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r597",
      "r673"
     ]
    },
    "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": [
      "r700",
      "r712",
      "r722",
      "r748"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for acquisitions, shares",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r90",
      "r121"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for warrant exercises, shares",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r89",
      "r90",
      "r121",
      "r520",
      "r597",
      "r615"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense, shares",
        "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for option exercises, shares",
        "negatedLabel": "Number of Options Outstanding, Exercised",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r89",
      "r90",
      "r121",
      "r343"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for acquisitions",
        "documentation": "Value of stock issued pursuant to acquisitions during the period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r35",
      "r121"
     ]
    },
    "CODX_StockIssuedDuringPeriodValueAcquisitionsAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "StockIssuedDuringPeriodValueAcquisitionsAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value of common stock issued as consideration for business acquisitions",
        "documentation": "Stock issued during period value acquisitions adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for warrant exercises",
        "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": [
      "r15",
      "r89",
      "r90",
      "r121",
      "r529",
      "r597",
      "r615",
      "r679"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensationGross",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "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://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for option exercises",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r35",
      "r121"
     ]
    },
    "CODX_StockOptionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "StockOptionsMember",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Options [Member]",
        "documentation": "Stock Options [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ShareRepurchaseProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock repurchase program authorized amount",
        "documentation": "Amount of stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchases of common stock",
        "label": "Stock Repurchased During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r89",
      "r90",
      "r121",
      "r529",
      "r597",
      "r617",
      "r679"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r93",
      "r94",
      "r112",
      "r556",
      "r572",
      "r598",
      "r599",
      "r667",
      "r680",
      "r792",
      "r801",
      "r863",
      "r883"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://codiagnostics.com/role/ShareRepurchaseProgram"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r191",
      "r285",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r299",
      "r417",
      "r600",
      "r602",
      "r619"
     ]
    },
    "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://codiagnostics.com/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": [
      "r455",
      "r456"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "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": [
      "r741"
     ]
    },
    "CODX_TaxesPayableNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "TaxesPayableNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Taxes payable non current."
       }
      }
     },
     "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": [
      "r733"
     ]
    },
    "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": [
      "r740"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r134",
      "r135",
      "r242",
      "r243",
      "r245"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_TradingSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradingSecurities",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in net income (trading) and investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r160",
      "r640"
     ]
    },
    "us-gaap_TradingSecuritiesDebtAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradingSecuritiesDebtAmortizedCost",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjusted Cost",
        "documentation": "Amortized cost of investments in debt securities classified as trading."
       }
      }
     },
     "auth_ref": [
      "r486",
      "r779"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r764"
     ]
    },
    "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": [
      "r765"
     ]
    },
    "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": [
      "r763"
     ]
    },
    "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": [
      "r763"
     ]
    },
    "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": [
      "r766"
     ]
    },
    "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": [
      "r764"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "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": [
      "r59"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical",
      "http://codiagnostics.com/role/ScheduleOfTreasuryStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock, shares",
        "periodStartLabel": "Treasury stock, Beginning Balance",
        "periodEndLabel": "Treasury stock, Ending Balance",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock, at cost; 4,848,678 and 3,881,658 shares held as of December 31, 2023 and December 31, 2022, respectively",
        "label": "Treasury Stock, Value",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r59",
      "r60"
     ]
    },
    "CODX_TwoCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "TwoCustomersMember",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Customers [Member]",
        "documentation": "Two Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_TwoThousandFifteenLongTermIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "TwoThousandFifteenLongTermIncentivePlanMember",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2015 Long Term Incentive Plan [Member]",
        "documentation": "2015 Long Term Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "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": [
      "r406"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USTreasurySecuritiesMember",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfCashCashEquivalentsAndMarketableInvestmentSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury Securities [Member]",
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)."
       }
      }
     },
     "auth_ref": [
      "r644",
      "r660",
      "r662",
      "r877"
     ]
    },
    "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": [
      "r760"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Unrecognized tax benefits at the beginning of the year",
        "periodEndLabel": "Unrecognized tax benefits at end of year",
        "label": "Unrecognized Tax Benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r376",
      "r384"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross decreases - prior year tax positions",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Interest and penalties in year-end balance",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties Accrued",
        "documentation": "Amount of statutory penalties accrued for a tax position claimed or expected to be claimed by the entity, in its tax return."
       }
      }
     },
     "auth_ref": [
      "r852"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross increases- current year tax positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r386"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross increases- prior year tax positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized tax benefits that would impact effective tax rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r387"
     ]
    },
    "us-gaap_WarrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantMember",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "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": [
      "r670",
      "r671",
      "r674",
      "r675",
      "r676",
      "r677"
     ]
    },
    "us-gaap_WarrantsAndRightsOutstandingMeasurementInput": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantsAndRightsOutstandingMeasurementInput",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants measurement input",
        "documentation": "Value of input used to measure outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur."
       }
      }
     },
     "auth_ref": [
      "r426"
     ]
    },
    "us-gaap_WarrantsAndRightsOutstandingTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantsAndRightsOutstandingTerm",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected term",
        "documentation": "Period between issuance and expiration of outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r862"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive effect of stock options, warrants and RSUs",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Diluted",
        "label": "Shares used to compute diluted earnings per share",
        "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": [
      "r209",
      "r215"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasisAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basic",
        "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": [
      "r208",
      "r215"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares outstanding:"
       }
      }
     },
     "auth_ref": []
    },
    "CODX_WinstonEganMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://codiagnostics.com/20231231",
     "localname": "WinstonEganMember",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Winston Egan [Member]",
        "documentation": "Winston Egan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://codiagnostics.com/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": [
      "r770"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "16",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Subparagraph": "b",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1"
  },
  "r4": {
   "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"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r6": {
   "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"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21D"
  },
  "r8": {
   "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"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(1)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r15": {
   "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"
  },
  "r16": {
   "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"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(1)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(2)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(3)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(4)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r23": {
   "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"
  },
  "r24": {
   "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"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2C",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2C"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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),20,24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r35": {
   "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"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r40": {
   "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"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r48": {
   "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"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r52": {
   "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"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r54": {
   "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"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4"
  },
  "r57": {
   "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"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "30",
   "Section": "25",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "320",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-5"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r86": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r100": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r101": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r112": {
   "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"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(a)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(a)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "(c)",
   "Publisher": "SEC"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r157": {
   "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r172": {
   "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"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r175": {
   "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"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r182": {
   "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(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r187": {
   "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"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r245": {
   "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"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r256": {
   "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"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2"
  },
  "r258": {
   "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"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2"
  },
  "r261": {
   "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"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r330": {
   "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"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r372": {
   "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"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1"
  },
  "r374": {
   "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"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r456": {
   "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"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r481": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r482": {
   "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(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r500": {
   "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(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "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"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "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"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "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"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r579": {
   "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)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "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"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "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"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "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"
  },
  "r600": {
   "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"
  },
  "r601": {
   "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"
  },
  "r602": {
   "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"
  },
  "r603": {
   "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"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r605": {
   "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"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "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"
  },
  "r620": {
   "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"
  },
  "r621": {
   "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"
  },
  "r622": {
   "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"
  },
  "r623": {
   "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"
  },
  "r624": {
   "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"
  },
  "r625": {
   "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"
  },
  "r626": {
   "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"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r638": {
   "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"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8"
  },
  "r642": {
   "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"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "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"
  },
  "r649": {
   "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"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "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"
  },
  "r659": {
   "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"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r662": {
   "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"
  },
  "r663": {
   "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"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r666": {
   "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"
  },
  "r667": {
   "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"
  },
  "r668": {
   "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"
  },
  "r669": {
   "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"
  },
  "r670": {
   "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"
  },
  "r671": {
   "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"
  },
  "r672": {
   "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"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "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"
  },
  "r678": {
   "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"
  },
  "r679": {
   "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"
  },
  "r680": {
   "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"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r728": {
   "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"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r746": {
   "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"
  },
  "r747": {
   "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"
  },
  "r748": {
   "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"
  },
  "r749": {
   "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"
  },
  "r750": {
   "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"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "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"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r772": {
   "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"
  },
  "r773": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480887/718-740-35-2"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r778": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483504/205-10-50-1"
  },
  "r779": {
   "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(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r780": {
   "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(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r781": {
   "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(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r782": {
   "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(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r783": {
   "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(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r784": {
   "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(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r785": {
   "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"
  },
  "r786": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r787": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r788": {
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r799": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//320/tableOfContent"
  },
  "r800": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r801": {
   "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"
  },
  "r802": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r803": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r804": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r805": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r806": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r807": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r808": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r809": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r810": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r811": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r813": {
   "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"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r815": {
   "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"
  },
  "r816": {
   "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"
  },
  "r817": {
   "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"
  },
  "r818": {
   "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"
  },
  "r819": {
   "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"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r824": {
   "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"
  },
  "r825": {
   "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"
  },
  "r826": {
   "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"
  },
  "r827": {
   "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"
  },
  "r828": {
   "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"
  },
  "r829": {
   "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"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r848": {
   "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"
  },
  "r849": {
   "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"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "15",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480123/805-50-15-3"
  },
  "r860": {
   "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"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r863": {
   "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"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r865": {
   "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"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "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"
  },
  "r871": {
   "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"
  },
  "r872": {
   "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"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(7)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2"
  },
  "r878": {
   "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)(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r879": {
   "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"
  },
  "r880": {
   "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"
  },
  "r881": {
   "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"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r883": {
   "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"
  },
  "r884": {
   "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"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>91
<FILENAME>0001493152-24-009955-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001493152-24-009955-xbrl.zip
M4$L#!!0    ( +J ;E@E%%GHKA   ,_#   1    8V]D>"TR,#(S,3(S,2YX
M<V3M75MSX[85?N],_P/JEZ8SD;6VXTWLK)/Q9;VCJ1VKOF2W?<E )"2AI@ M
M0,I6?GT!\ 8*) 52LLVDR$P2F3@X!^=\!R#X$00^_/P\"\ ",8XI.=G9VWVW
M Q#QJ(_)Y&3GX:YW>G<^&.R GW_ZZU^ ^.?#WWH]<(E1X!^#"^KU!F1,?P2_
MP!DZ!I\000R&E/T(?H5!)*_02QP@!L[I;!Z@$(F"V-(Q.-S=WX.@U[/0^RLB
M/F4/MX-,[S0,Y_RXWW]Z>MHE= &?*'ODNQZ=V2F\"V$8\4S;N^=WR3]VU:\Q
M][+*1^^OY_S[YUO\98+(#]$%)$_\,\27T6AX]/OA?W[81X_3Q>>S@]'H$;+E
M0_!U_F7O8KF_N V"S__R)O^,37[@WA3-(!!@$'ZR(_U+W'LZV*5LTM]_]VZO
M_^7ZZD[)[<2"Q\\!)H]EXGM'1T=]59J*&I+/(Q:DJ@_ZLG@$.<HTBU)<(X\)
M#R'Q"O)^F%70A0_[<6%!%)>*OH]%<2KJHQ4YCKS="5WT18&0WS](!2/>FT X
MSX3'D(^4TJ2@(,Q9: J*BZM"O7 Y1[Q4-"XJ5$">7]Y645 0]$.VHKD07E'<
ME\6RSG[OW4'O8"^M>7YS\26K)/LHG!#*0^RIW%=&]O:E. K0#)'PDK+9!1K#
M*! .?XU@@,<8^3L@A&R"0IG,? X]9*,R[1:0$"IZC^C"R15Y;3['HGMD%\0E
MF4['C ;H7G@"Y _1?6OL2(G^.17CT [ (H[Q3TUCJM-'8TRPLI_TV3W0DSTT
MD@Z+GZKFA_ZJL*DIXLB_(3^IWW.&N*BN_+H2%Y+ZB4A]70\&7A2TJIJWKZYF
M<CV-YL9A/H.![+EW4X1"'H>[>,DJ[/LBUG(<15G<":<!]L45'R3Z0*S0H6&+
MQA RX?@4"1$8E$!3++?"Z< >)_!-0?\_'&XUN&4QY3?CF[F<]X@&\%/BR[D.
M0U-$.%Z@*\J3+M9 W@K7[^IPS8T!.@:Y.0")#PH&@;3H@+8!^F9\/H5D@OB
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
M<E>YP=N8NFL&$!N6'BG:="*JI!KU*_185+)D86NTNZ.(>8XKXL#NSU)--VJ
M\!#B/V.&U]D39%:2M9\]9ADW=K$BAKE#;(X:,9*I\ILZGH%)#R"=.+:!R=E-
M.4^< Y,6S&"ZF <FJ))H_/@')E1KXPEC(9A4:JKIXR*8E"#B:6(DF(!2@GGB
M)>"8#F4P>>P$1!U .WM$<(HC1+SP"E&>;GOJ7'(,XSJF>NX:+V,/)YFKYMS^
M'=$_F!3,N!?^$PZ%G]QB-Z8D*@3LU';,3B91/@\-DHF+R71)T /Q^FFIPVT:
M++.D:5O(HP^:!K=IU,D&I8C]%))EFM/F(U>0Y(69B7_C7PGS)WWU!G"?1-VV
M^$];*P"3283/PD%M@26$DPA9#U2OL+Z!NWE,,U+%$?ORCC<!C<@_A*.F :W^
M* 7D-,]B0W<&[<%J$CQJJPIM%-3T4P0RZ9+CZ^X;YJ'3=DW<8XH15'(]-I/8
M_!2O,*5XF8J@;7,U_20BBRTWYJNGQ(LC!G=M@:6M@AZ_"1>4NM\ME'X2%!9;
M/LP=NZPC$NVTC:XDGT;@.!*U0\QB-RPPIL1E8(N8Y-XG(K(LYVOU%1K"?A*%
MTSBK-T1J^DE$OL%NP!9Q_T@MUTQ(])V@>S*>/CVCO=K58S/1&F*S#7R^X,RS
M,BQ$?B)A(8C.D@',;)K9!/MX1:)S&FQ*.28>ZJ]6F+L^_\4-^W#UXY'>K">=
MZ5F?HZS,]?A-HM*]3_/OFHF1VEM?%1B?:=*?N@, @'026U]B-N;T'7X5Q),(
M^QU%:<9KP9,/6^3OA A#_%V?YS1A3+3&E!<-TXT8^=.HXBY(ZQ/]1R&5?OS2
MB^\\V7?=;Z0'JTFPNJ,BN;<3D[8V(BKJR3<0M.,2+2XS%&?H*J#+1Z6"BSPW
M]L1G=,G^7*' +Q'VEWB9\>%*:%6@1R3B%.G)@$-GGQ\C$)4"[,>TY;3BM)>9
M5\0Z8K+DM;Q"+C\,/++D)G92>B=ED,J:2>L%;D5"CQ\."&H%^-E!"W$$8(7"
M!W$.( [W'Q':'G!@#[ 7A=EO!-0"YO07OR<ARTE,::GFT4,/V!,]_IZVJS4[
M,"(KW^7AXUAMLR<Z83ZY8R.;V$>0ZP DK^M6\IICZCH!76+Z9>\PZP=1M^(K
MS0,9:8N#D*>Y.)M]POPAHU^QJ%AEZM2L01]5RI P*?:<9TP>UY&0W@R$Q;9<
ML1G7Z7Q*(AA<1T;A FAM$TCIKG%X@UW,?(N)?86C[B%"206#Z9U1F"!ZVX03
MW]GV&=L=$U..2[45#(?W1G%HT\LNNZ=+S\)15.9O:0Q#X8-A%*1:V@3&-<5;
M1++-+C8IB@4<,*P!$</ ^F@4+ TKV 3>51")1.!EP!8:>M,-@!0&W$]&@0-;
MP";8J@>/9*L%6T)IV6QO^\>1E=M<>WSWJ51SHYSNU51V1,O20:Q;89L JF8$
M;[@TB]5]F)2,R!'J(+,C4I9 !%+9)HQ:2JK.7EPOYOO36;V/*GB#4-L14TO#
M.+@!; +N!B/O+.2ILZ* -_SO@/C1K^RGF&+%_ .AM2,$EX &5]XFR$H[0)WA
M6UM;L]F.:[3CD1<XSU%O;SK8D5M?DN9H5]@FATH+&77\2D%B.O;1 4BMMDT8
M52."3.9=)U!==*;#(#!:, /8!)F8>HY=%EV')#F6T'I: 8YE;X:F(R?X)SG,
M9#:AST6GR(U^(]'Z) ZC8(,I'&H8M>G@"HRKCC%L K&DX%7@NQK15KEY+]E;
MRDP6IW__751BI2&%4B3>6M;8HABJJ4/F.BH%[/.4K#PQ3^>7=52E*3H)+8JG
MY&!!E;$/.$E< ?G< :06A5>=X($M81-\NA$#!-<A/"T*M3H!'VX[FSRAI#EH
MAK9J&I0@-'1M:G"NZ-;(;G>27UK:]*JVML:VZ9,96(C44:G7VMCT1Z&X++:Q
M%R]3U28_*EU&T%4XV6AI^G,&8R%3TB8@*O7M'5"TM34=RH'!D"O: L>^N<AM
MN111!_*N$6$KAA.T)1%2[!)*"4S'7&!D.E2VZ6LY=MUX$XLS"J+&J7(#>;*\
MX_>0LT7=8L76><J= CU&II-:<#3[F<@FE&_X:1._N(2@I!);RA.7*%9)$%K3
M-7U@+.&&L F^4C!]["]U(M9N2M-Q(%0W^?K"1L0 %QVW!X92(M,Q8D^<P#<^
M]UOBSI)1T]&WZPT,F9J_'-2UO&1_GN^\7?OC*97#=^_@A^^<'RK\_F/JHX,]
M'E2IJ/9>I5K!W E63L'>0?[2J73@B!Z,##C?*.OZF@8KU51>:60J$A$7.O'+
M*]HV"_-:.IZS9/];*F/.7LQ,3W@M2#6"E-XVLFL.#*/\$C+5K%=I9GJ>ZX:G
M52^KEMSY#D_]#1'%WE;1U% >%GL>]^GLKME")$4^5D%C^C.78E /&#KUMNF;
M3MX\Y%<Z'B\WQ"=AE%Q?T E5)Z'I[QZ*%] "-H%V@T/,).%'W$_9J.4%XA1(
M)V0=9*8#="A@(.UM@NL4LXC2)8DEF9N5KG]5E9<HB$PG3J%0 32W":CLO,?%
M9HL(Y5Y57F&TC(&2]J8SH>"A3ZFO3<CD&A7I64 (5&YL3?C0U*".2DO :F71
M %PEN4/:%&5?!7Y05:ES2E60&#O/ARD.HT08L;TAE[ZUL>D/I1.%Y@$^F<8V
MC6#\R!J_-[(XL/8-$3_D'TW743T%F>DA0!<LD!5L@HV+QZ5;^*<DW 9)O=UB
ME9Q./%2$!AUTIH-M7>!@=A@1.4D9/9=CX=_@3?$<"K_0OUD**=F9X4PT>9@.
MML%0]=#-Y@_N%B5O?N0'?"%?6PN1Z6B\_Z<FM8!-@!7!7Y;?)G[,5"WV5;[B
M54!QZ4+BLY>((F9WXB.ZNV"V$R6E/#,>B-Q9-J6K(I<).S4= <U@45E\WA+)
M6[GTF-]$W5^Q1=_D%8X@"^5:,]-^WRIUZZUKTP)O$9"Y&JFSI5?.=PV,+02F
MOU@XN%)MK4H6J"H'$Q=4[G0#R>W2C;]_D*S?_BOPQ 4Y1:B27]QZ3%FHZ3^>
MLC_ZC]>8DF#976PZ78^F!S4M/ZE/RQ/C8--(UZ)FM]LHB4PC#]"H'F.TCI%6
M!F#ZRNE]"+;5UN4U8Z6W616E@95BM ^@8C1>BY:R=HCOE)G_.]H&X<].O<)W
M^M([?H'ZN1<\2ZKL/L*K[#@G)V%E*B+F(H@GHYA!ON[N0YZ%S!<^Z>MERG)>
M'1[_'_=KA8::V(PW;LY? <!^]G#O4@ YM>D983"*.D:R"=QYJP8FW!(8"N#K
M*2<0KQ!]K3^.*(=,UM[XUL!0R-2&^#^\G3/A=D!OS,;<W^F=.)$ R5-J3*OR
M WX2N%I;FCYO. P4A?(VC7HF2Q"F>T5@\!C8MR;!7.[1U![I7^T%L=^FJ0T0
MFJ@K^?0:@-0L-#&'9>/R/.AF32<A<&7^UEXX@;:Q:9K,GQ4_#^AI$#]$J]C+
M[@278ZFF @)I<8X%8A6;4,P?2?N-,L.<!L^*Y5U;6R!B%N=3Y!:P"R>7)@]&
M)_^]\)O/#"JWNP'40"PM3JWH6,FJN;$I>/4I-AUHZY1 6"U.OT"M8SFDV4BC
MW#WI( .":6->!J;@JT!2>=^[#K8=C(!HVYCPZ:OR*YEZ^<LJI>*Y] YWS1E8
MQ@0(N\7)HAXVLQ[R\FM'?+^M\;Q.G_A+S0_H"!8GG(99TB:?D)@BR: -*XUH
MY6%H58]V(AMX%XC=$HJEKVDJUO@:/"PMJE"@6E_P:QO,JMB&2>MBO!1EXCPE
M+.YCB7AMY&ZQ2FYFX5]I42^I3.WHLK*T&$,#_;[FLVED:[BP)NXP<DOK-@9\
MZ9KX&CRQWZ[Z.?&1[PZ;NEIYF!_*+L(PYO<R+E:EJ]MA0Y>$U-*)2H&A8JA2
MFL?&H>D\H#=X&U-WS6)(**@ 6DLG( U4P0:R:D3B2O/_\^#HB<V;(D,;1I2X
M$5[ROV 3:?47I9;)*8WFRB*]'O+LQ17UX3<HPF>K%795[Q#.+(?I4<2,W9MU
MR+J+2CL/=UAL3%588^6]TS8;4S4<VW8"9_&$Z1/!S\Q<7U%(PL7JFN*0&:E:
MLIH<4/GTZ<.'PR-GWSDEH>L%O%22_2%C(2YZ%DSXT90JFXD/UW"?H6P)=4L>
M?;(B+E]*)WDC?DHO\$BE;K.DS+NZ,BDKKD&)F5-P<PIVTRK5XN$,I-2WD'?A
M,^>.JZ58)<7>UQ7CK'Y,#@R5./XH0,N9.A6NT^IWC@@5S_%\+XIN6U7Y4%>%
M4SJ"U*G23BMPEJEI3=*4Y/U8ES<C%+9N269-(VYV;H")>\&^0_^1\/2I*/AJ
MD_JGNM09O9"ZX.!D+*:5/DWR-FZV*TG\U[K$*8W3O*-Y&AGK=UN79/M4EZUQ
M<?<T(F4/MK 93AQ":)'MZ&U=MHS(85[JI&13GX9D*XW]!^D)B9*TAXT16M"*
MTQ5.^[F1:60N;46UR=F8%I/V3DHP\5P!>#ZD)&MCUBO1I\\UM![NF,@9N,<5
MJU$V6CY2M&F3NS&I"5*GH'5RXJF_?/$6TC5BH_H=1<P#77%+2IO0C>DK)78$
MM5,EGSI.>@CQGS&_U_E),ML>-6:O@LC)J&R(YA11W5%C+H-'=<X/V4^3O\8"
M#_#N>-*X5=/&'*@=YCD_)-PG5[<UWI-KUIA!)5'?;/*WA7]2\=\U)MGV(' V
MZ171H%R)QMRKC@EG4Z86',H5:$S*]1!Q-I'3^$\N:F-.3BEFD[ >.LI%;4S#
MS0!R-JDED:1<^,9T+(LG9U.A%%C*Q6Y,R^7P<C91%7&F7/3&;*R,-N?SG-:P
M4ZY&8ZJ5!9_S:0 *E$[Y6YY>>(5H\@)+FVZ-R58G8$H[</(>IE?<7>-ES \D
MML=0Q4Y[<6"QV'-/Y6VQP_O&K)WUE%VVTPRMA <7'3I%CT[196ZD&4V3QUO)
MY,S,4JJ84]B@N> NV: 4A*5S/E>_Q-B$IOG546TAID+31G100;NX-"I:8TGT
M:43;;+2,^,509)G>T%G:PF50_\:_1>:="NV;J>^R]GDG3J47)^DFF30%]EE/
M)DS1%I(K-&ZF#TH:R^+S^;7*@FR%)LT@IJ1)'J0;D+V^MKC"*D":N8:2&HWE
MQ8\.XV9D)(TC)E[YPJ1T^:!0K9F"*(^B@J%3YIBM2$KZ&:FT."<^B? EF\4;
MZT1F?7EE1!>=F;H1A50M<%XQ-[E[QMX3_LZ&O[6BNFTH7]-U'3"4:[O=XQC3
MNAUP168$$#J_;RP+NG(D)L/E6N)$,7XU5P2E\:N913$[:#5/A)S$E"H/'2A(
MS Q5J4#7:,<P\\2R'JI$*XWI(:83D]KHTJV_386FJ;2\AC\4Z8R07^( !4Q&
M9KI"K2=F:BO8!)NX+;G':-%%9[H:3A<XF!VLFZKSA%>:&_^Z^X9YRFV[)NXQ
MQ4@^GWUH9G:*#%>6:7_8.04_AS,TL=K([O9)I5+HI,S49&R*?83Y51'%@/Q!
M8>+%$0L[:CL,"M64J9FDQI"'5RGC8@/BNMB F$M=B5:JH/%#(_?2MH-B,E!<
M;,78E=2O[A1 *7,J"1<G8V/"!1=Q%+(0G)?U%N7 (GMUSU8SH:@2+FHY%(HJ
M4RZE7IRBFS1+)CH2[EJM_#!@C319!\!5F9I)V1@%]@:[P://;YB4; %VYF@^
M*',T!7^GU$%UA["9LS&SVPD9<IK;5])]3Z,;.DR2P.<;*_FV:'Y'F@)*Y7*U
MX%G:-75RMJ97KVG4=8YYDMT3#SSPS1K6EZ=QZZ$>%T/'N"HR]E:N_Y6.DP7@
M?3"LQ>1 X]BTG$I%'NBRNKXZ^[FMT; %TEJ$<+:*&#@X:;*Q0M?>]\YVT9L>
MJWIA*KF %F8K&SVZHG9OK&%<3(]@8R*N8[?I7[I(JC0N?%Z9D=C3\X)G?E=!
M"W:<0D5@.HLW"*8NY:2(&+TH<=9G6*=^6[I?I#=F4&#FP>B>D\88BIM(0A?I
MS412<4-*4</+BY'$H7&V<&:_X(?(%1NM'Y4EAVD/#C=\M>)75"EEW8CUK.C(
M]%HV%RDW"!>+YU)\EWC)*V1B\R'_E?\H'H^^QM15;L$,YVQFD(/(?5P>"V)^
MN7BE\3"C=#(W/7B.Y3.UT69$P]L4OT+4:H_15-=U#>-J>AHRZ$%=IGYMKG.^
M)&24L;C"R'1D;=!!6@SZVGRB_3G#LQ<7AR$C2(.44;Q&LRO3+T6:''CZ@#+#
MDX40V25'&"KO+TK6[^.Q-_UBY=B^,ZYUYDK@0"1NOH [P#G:F)E^)].4*\@-
M:U6>".35:>KKS$>\]&*4E9.,I^FW.0W..FHSOSJON0IX]B=FS1Z\[(W9&QQB
MI@*_0/ 4/V$OZ+B^?NQ^3#\::M"[].&P8X+2WH48RM3T>Z3&8I<^&QQ6CT"9
M1EENG#5*#@J!?*G'R WJR/@+J19,<1J(O+IY+ZG_7_YOW/F^=3]NQA]F->@_
M,MM:O)'5<'7H91$?84<0^/94YW411JM!<LV_T2!4? ZR]F9K67)IV _9[TKA
M$WT2NY+BO _R0IV7R,;KP?0NDQIIR4[U6(:U*2KIJ5LVYVD]WSU%7Z8WF^9P
M)("Q7YE+E9/4_*[Y)#T]S'6D/$UO-XWM(AW&FWX1W)#QA 43;>#QUK+&IC=K
M8*BH-#!F[DO^/H7JQ>!6J>M4IG<\!@#0;@ #2-S[9!70S0G:D@AYZ94G4$ D
MQ*:W'P;@HC2'U5-4_GS0)=/U!%&Z8XH\([K4F9-43$SO$@R;A+K-8S6Z[(<3
M]F<2543/<LEZ48>2D>EL_>!0 V FJY%6WDK6WMJZI:C\SJT.>&T&1B>!/6)2
M>L:%GP9LKR1WG,F=IS>UDD3M5,;=L21-C]?)M1G9,KJH,)2[JXZQ+!U^2BHH
M[O:3O8D%]0 MUK8,78-]HH=![?>2:XJWB#3>&H./!35R6])/(XP K8:9==E=
M$N>&][58W8>)AW6ONE6TMF2C("!IJ/5:OCFQ2\KSFA2OF7/E6ZJZ'Y^<CRW9
MKL%?89>I7@G8O9"U)SDV#HR68Y8F6PNA]5;7=4);0N$.S;H6;U>Z ZOQE:F6
MGDK/5J].C5:MW/LTOZ.M./&BJE91WBI99B<J5C*&\UWO5CH_"+C2[6/C%LGJ
MFU FKW$3^S6=-_!]5-X>*7C8\BZ"$(9O \J'PU(30[<;YSG[;F';VIH>KAMB
MUV\MENIGTW1ZNPYH=(?I!H!"6UO3DTD7"G+]+*YP_(ZB]"FN!7\I:8O\765+
M65WEJ+S[M6#M).\C<>;IX&51I>,E9I$!KGY"^8;Z-=J)6M736+$ @W,P\^%!
MY8,_\]*?H_FA5 _MVC<^U)0VC<=07?X'(WKW' SWAIR1^9%\%B>H&>[58L_Z
M'&'T*[$RG0>>$_^R\5ZK!YP'L2)+I<_)=(IY1OS+IIM^>P JV?$JPE2!+&?6
MDY?I[')?; >H;'V0+S*L%SXO2$3)E1;BN86[H*JJ(M!7OGH@V#LE_OE[#E'@
MY%VDD?]L.:,3^9/<D!R2[N/<)I-*=U3<4+(3+Q<H4&P^=5!",6.2/LXQW],-
MK<^-0R!JOFT@?7A\?G3*KZ?<4>2'R.6\(;[W4^/JR^K[*&5V<M72$8?_B[^+
MP7[S3U!+ P04    " "Z@&Y845A\2+@H  "I= ( %0   &-O9'@M,C R,S$R
M,S%?9&5F+GAM;.U=ZV_C.)+_?L#]#[H^X+ +;#J=]+MWYA;.J]= .@F2]/3>
MIX"1:%O;LNBA)">>O_Y(ZF'9XDNR)%(9+_;V.@FK6%4_BBP6B\5?_O$\#YPE
MQ)&/PE]?';U^\\J!H8L\/YS^^NK[W<'H[G0\?N5$,0@]$* 0_OHJ1*_^\;__
M^1\.^<\O_W5PX%SX,/"^.&?(/1B'$_1WYPK,X1?G*PPA!C'"?W=^ T%"?X,N
M_ !BYQ3-%P&,(?E#VO$7Y_WKXR/@'!QH\/T-AA["WV_'!=]9'"^B+X>'3T]/
MKT.T!$\(_XQ>NVBNQ_ N!G$2%=S>/+_)_I.2_Q+XX<\O]'\>000=8J\P^O(<
M^;^^HOUFW3Z]?8WP]/#XS9NCPW]]N[QS9W .#OR0VLV%KW(JRH5'=_3Y\^=#
M]M>\::7E\R,.\C[>'N;B%)S)7[VX("@W?G^8_K'<U)>P+@D=^5\BILDE<D',
M1HA2(D?8@OYTD#<[H+\Z.#H^>'OT^CGR7N4X,6-C%,!;.''H_R= %[W2<0FF
M(8IBWV4 '](6AZ>(#& B+J.=83CY]15I^4RZ.'Y[=)QV\-\;C>+5@@SDR*?C
M\)5SN$OG)R"@UKJ;01A'*B&XC;L2Y@9@&,8S2)J H)9D7,H6Q:1?')R3+J+K
MR?6"SA)D;$6CT*,S X8S&$;^$EZB2&G0^IRZ4.-Z<CH#X11&X_ N1N[/&0H\
M,K.=_Y[X\4I;!2TN':%P"J+918">:AF\0M2B<-?D:UWZ\(E >0(BG_1V@V%$
M^F4(JZ34HV[3ELE\#O#J>G+G3T-_0KZ;,!ZY+DK"F*RD-RCP71^JC5N+2XOB
M4R3I_]&QM@0!A9>8[L(/R9S@@V!,E@2<,-25TVQM3BVJ<0%\S%;Q;Q!$"89:
M$DN)6A3N!B,R0<4K8@YJG 7M1R6;C*9%T;XBY#WY04"Z&9-O))SZCP$<19'&
MBJ9!VJ*@Y&/ "?3.GQ=D8E=_3X+F+0IT"Y<P3*!*D*UF+0IP#G!(YH;H!N*[
M&5FV59*(VK>ZKI#%ZX Z>6P5)J;7FK,59"T*."8;G#F\!\_J$<1IVN:TB^9S
M/YYGD^0I8M,\V7YI+!4:I&U"2H?*+5PDV)T1@,BT-,5@KD142M7J5Q@0K\0C
M;FN\NL> C!R7^8'JSU).UZJ#\!C!WQ."U_E29U42M>_=9VG7=['"A[D'9(UJ
MT9/9Y->U/Z,GO09IQ[Z-GIQJRG[\'#UIM1ETY_/H"2HE:M__T1.*V[A#7TA/
M*CE5]WZ1GI1:Q-WX2'H""@GZ\9<TYW1=!IW[3IJH:]#V[A&<P1CX070%, VW
M+95;CMVXMJF>.X->$L T<E5=V[\!_)-(08P[#I<P8N/D#KH)]N.U@$IMV^RD
M$^4+UR!=N(A,ESYX](-F6M;AU@V6>="4Y_+4!ZT&MV[4R2>EF/PK\KTLIDUG
M+I3&A8F)?]"OA(RG^NKMP+T3=7G^7VVM-)AT(GSN#M866$#8B9#;CNH5K&]@
M-8]N9JHD)E_>:(YP[/_!!FKFT-:?I30Y];/9J+N"-F#5"1Y;NXK:*,CINW!D
MLBW'R>HKI*[38N:[(PR!KN3UV'1B\S,X@1A#+Q.AMLWE])V(S([<R%@]\X,D
M)G!O;;!JJU"/7X<;RKK?K2Y])RA<+^@T-W))1WZ\JFUT*7DW B<Q2S,B%KLE
MCC'V70(V\TF^AS[S+,OQVOH*[<*^$X4S/ZLQ1'+Z3D2^A2XBF[@_,LM5 Q)-
M%^B&C+L/S]3>[=9CT]$>8KY (=UP%E$9XB(O_6@M2)TM@S:S;E83&,*)'U]@
M-"_%F*BK/YE .O3I+V[)AUO?'VG,NM.5GO39RLZ\'K].5/H>XN*[)F)D]JZO
MBAZ?;L*?=2< #=).;'T)R9S3=/J5$'<B[#<09Q&O:QI\6(!PQ4389;S7Y]F-
M&Q//(*;YQ7C.9O[,J[A'67YB.&52U?=?&O'M)_I>]QMIP*H3K.XQ"^ZMV*)=
M&Q$9=><'"+7]DEI<>DC.J*M 73Y-5& )ZQ%T7T_1\A"Z7G:ZO5R<^9$;(!H'
M_N''LY'G^;1O$&3!X:U!DU](J+"C"M%_,,W2\V]]WJTJQ,Z0=I%Z@T&KHHV\
M?R?IN4ATC\099/7$53)M3P5BF20 ^-*/XNAD=?X,W82.RU,R>J<(KQIKH<FW
M$T5V'N<27JT.GC8^R$X%W,:-N2M!\U&A9MG5Q[FKV )6[8D[#CU_Z7L)"':3
M5<"G%4%'3P![]X333A)RN;0X$6! PV8C&FZ:PMW!W^#7X0"X0'B*0DAC2TN(
M*TF,-206<FI/V(WXY,X"2[FU)S0;>-$I<5_@/?H6+GSJS.PVC$7<VIP7V,DW
M9U2?K,BWOL,\P><;Q1M\VU/D#$Y $FPG$]>0>)N!3#2 W5PZ7N-M"3A70/.;
MJ/3NYWO6_XRPP&[R" \\GQJ*^6-91Q7U*1<_C ])T\.LS2&70?=R%YT=>&@.
M_)I"5ZE[D)CU=#"'\T=Z#;:6N)NDW<L*@J">A(R@>[E"%(_JBI;3]#HFTZ^Z
M\:#,R3=E)K_V0[8UO20_;L@-GV,8>K"8X2C#6I>V8S^F%-F]^R/G@%[29\GU
MY)]9RTZEX5_,WI#JF(A2W'YE8H41"GR/!B6<C-[)&?0G+/^N]H;D;_4E=_ZR
MP>^O'6O2X/KVAF;O9)JMF3MHXJS9.\0M<C8Z<%@/F:*YJ@%R-_0+: T$A"5K
M[01$C^S;2J*#*0"+;,$EZVO^F_7*F_WBH1"2V!..R3\+30/P" /6[4/6F-?V
MT*S4&U$@B<19NVUIU\-IA'.YLPE)<]9/9\$O+@IC,@#/ ]8;F4GAM'Q7=H+1
M7&G*S&Q(JD'9MD205P["Q.7[]=71F[4LU'_U?GT5XX2C\@X 13@N@4-^6@-#
M?GBXP<A+W/@:W]'+[RX</?N\P42:\ENV"@[7,5.!L6ECI)!7"(4!H],Y*Q,N
M.LN<.HGE><U;-7_5Q=RVO<JL%>N+5:Q"</QFB!@\'''$;@N&W*FJ.V&U@!/3
M2P35VZ90<4[UKL_^E8.1I1M^RS8-%1QH6U[3A]8AV-R]B,TK&=](+7/;DY'
MNE]IPI>.;:L-'W@?I4VF%8@LG&/:G>=K>#^9C#1MB!Y=8^#&].3N-(EB-(?X
M_-D-$A8!BB)(_DLS5L0N4@-F#Q][1K*NT]14)Q'4[:XF-9 ^)1N6(OM;C.%&
M,^O1J4K;CR=5P^Y?,=F0D<ECXL=BJY<:66_S;5F%DYHIBQ=)1/GEC-%CQ#Y<
ML?V%)-:C(9=<Z"D9VVW#(*"S97YY="VX9.<MI#&%CI;141TE1$"],S9ML9*G
M])K6R)L3>U+]Z+F\$BT%X8 @T]%$A-M[<PY=!(D@,WK'B"R+ 6(W2)6H2<D&
MA)E:#Q%B'TPA=@87&+H^"^C2L5:ZV"G&2T(T(+146HBP^FAL5LQNKX[G"^!C
MMCZ7 OJ<R9#;?D (2100@?/)&K^OAK\W($CXLHO0^&P<C?02B?P[X30>CN>]
M);/L6,4,%%<H1)O"9D-'O3%2DEH/DYX&0M",Q0W&80PQC.)49G9C1@P3I[$I
M8&K9&VEI(03'6(CA%H* 7N!;USWZ2DP3T3E MNQ(R08(F%H?(73&(A!40BK@
M=7CF1PL4,>->3])KI4<25TY*-T#P-!02HM<T+"$Z"B*B7(>W9#XOZE/1"BN_
M)WXJ%;<F\/8I41T>0X*KF7)"Z(Q%)M;C[0ZDA9CR24.V@1(3#0E#36V$H!D+
M3@B5;> R#A PN2Y"N(S%)]9;D?S T@\3(OLZ8_ $3A"&I8O]Y\_$!D1P/P1X
MQ1QIHC1-Z2 6#IC:J5,F<SX[Z]3ZW477N@N'F+$H2Z%)]B5D!2Q4PZ-",!!H
M^7(+83$6;KF"L4Z@9:.9]1!4I14>-AL+KK!MZD8*]EID(O_UA!89HG%M8M X
MQOYCPBKFWJ,T.UWC;+J=#JP'NTT]A</$6#A'I!TM!Y1NHO^) II(5/(1BU+*
M(TS\_'!Z1GX,IS<0^\C++5)_W.S:H[%0>?OC0V\ MF(PX8@TER8CL6?JM#0:
M7AOD@YYT-K40 F@LDL416STK2(BL!TLENQ B8UDTVU53:?E75[WD2\FLATDM
MO1 H8\$IKLPU 3(%C+:]-6"2PV,L#%6I/IR63]8'*",8.$1E+80@&0L^_8#^
M=$;$&RTA!E-XE5"37$^8Y%&IB$>FQ;I6&)M,U+-B._RMGSY;5%,X1HQ%CW25
M4\R_M=B80KQ]()L-%(V)W5C82J!#9I***K5'A(C1GVQ,2,T@&A7EZY2_'&Y9
MB,QB/WLIIZ#WE/Q&*87W6J44:"6%C+7CATZ9^?^ !8K^[F1][(LIU)=Z7TRA
MQV(*30 Z#4 4D8F'O9/%KZZPK6F5Q-(R"VK!A6@9B^641!1>^,_#()RV/5=<
MT+8P4DINWXG.;EA867FA-;RZJ;_00B@T) Y/3-\2N\'96Q%,:F%A@2*D*"7L
MNX2#^CO9CH@JQ;=NJBL&8>I>K=]DT5R&^&0#68ID.EMTA7I+3-4L*&AN>%&2
MVAKI*&#?VM0&,(-8H78%S]*%JM[J9-&2)/]"D);8UDUSI;>"U8["5M,.OJ+6
M@> ++?0(C+D$&Z_/I$*K\!"2]%X;J@$N<N&%GXDQ?-8/N=P WQN'IV#AQ_15
M%SE&4K('WB1L&4YJ!80KC#FL7#>9)^Q](5%RBQ(W718/[P: 82UE1'B^,UBA
M+2;*K9\*5H'';__PWGZD))*+8'EO<!<K.HO@;5VWVSY\LOP06B"R?<$$_1/"
MZN&7]2!P);;.BV9C91Q%"?3*Z:^_@2"![&_I^]O1^3/$KA_)TG9JL[(?PT8:
M"=T*RS!.1V@[($MX#15EE4I";\,RF-EHO8)/["_2&*T&^5#!Y&@A=$LLPR\=
MA\T!W*(?*H(\-400&DMUE2X86>XH],K/?K*"K W75#'#H8*LI9<(=6.YL_(%
MI$78E1R'BKN>8B+@C27$RD9QJ<!'P^^[S&&HP/(5$0%I+)-5.BQW0K+*8JA0
M"C011A6,'=,Q^=<OS%?'HP)$&>DPP%-J8-\IDLX%83%N.M360Z>MA! ]8U&D
M1@4L;,>C*JW0\*70CKED^^AZ<@JBV46 G@3/%'[0?Z:0<G(R5H==BG^]I _R
MP*=1Z-&[+D2)&[+,$#$VBFAG>GS^_/[]$7T <WVW@OR0LV /*C(F5(---IWJ
M<)?,YP"OKB=W_C3T)[X+PGCDNBAAA=UNB(G+M>_*NKS=UB5C114H,7/6W)PU
MNTYUH@. _A\]0%B"@*7QA-Z%'X+0]4$P#J,8)QL%X,IZO=O6B[+Z6SJJ2AS_
MQB KF#H;7#M5[P+XF*V'W]95^;B:O-_6A%(ZC-39I.U4WAM,:YG%*X(!M=^B
MG(A5%O?#MK@Y(;-TB;13:?/*XT3:,?D$PRE-<DV+4_*$_K@M=$[/A%YS<'(6
MG0I/OC5,?-_M0N1E@3]M"YS1.&NB3D7<>@FJ+-KG;=&*MIU*M'W;F2/:\9MM
MT7(BAXQ0)R/K=J*FWO'!XW:(@2?L465F9K0L/.%L$G<J<JGX'$_,RF*8MG<R
M@FZ7"#2?^VD%3/94,J?.:UG4REI7HL_>0M[@T.U(H*-MO4\BL^04@SE/[,I2
MQDB=-:U3$'?\S;,\F!M )O-[#,CH<S="$F69*XM61NPP:F>3O&/7Z#&"OR<T
M*7@I6&*/*VO6FLC)J2SPWR1^W'%E!=/WXYR_Y/_J^I5S?9>.78?@*EI9^6H[
M=LY?4NY=:\OU\,2*5=9-@9_7E_@\AT\H_=O*TLIW^_H27N+_B76HK+AR+[ O
M7;;<0;'\E:5XVRGL2^+,XQ-+6EF),XJ^!-QV%L625A;?JLO8E] "WU$L>V41
M%GF0?6E0<B7%4E<6X[)#V9>D$L]2+'EE#9;ZE[T-&ZZC*=:BLL"*W,W>%-!R
MCLYH_F\070&<OK/(4ZVRQ-9QDK(.G**'OYJI[9$])3X.)PC/069E59$/*9&A
M4S)W!KV$/F10%4Y5 $1-:DU-$ VXMD_0= UCIEY(A.,2O.2G-;3DAX=OX-\(
MYP^<BVYEDX:\=N:N86N;'$D5$.+2)P)78$X4V1!/>-.7M)<T[_D*MMRH2$=B
M$0 MW[GN"0$K[UKOC%(WEZL%CT,54@IO/M%F6ZUZOYFF-:B17%Z111M?/A-8
M]/X)Z1FUVO#A@^5V%8@L,NV'EDU['<*\>ZEE*^UZ+TA8U[!\B45V_=B^7;]B
MP!SZ$=U]K536Y;7N/5VD@8V%<HLL_:EE2Q=?SSV:0II.I#?M;K9^..J[.D+C
M^9<GN- )-)?<=HI"ERSFZ:-2MW[T\V1U3[J3UTR2$@W'5=?11N@V6@,8E559
M3DY&9*:<DH[5%3A5-;>II%+;0%GI\G<!IJ4EEO*9O2*YLL2/G-!4L0N=SPG5
M5D2XU[!GPCQ9G1 ?:#8'6%&A5DWY$M8ZKC$LNB)>%3D7N/9D6J&T9NGC@Z#"
MCF\(JQ?!UL ;V'+8!L"6+HS9F5AT"UWH+^GDHU$(BDMAS5(H^K(J):#$:@@7
M0G.U-D  HRR=X@K&*I"XS7N/T^V&D%@'8>#.F)]2'4WL>O%I@G%IKM'YF,IT
M#T>&OJGZIYLZBHA@,S?Y!0%Z F1P7B!\AI+'>)($5474(-9A,R1,Z^O5STGI
M3A\FF4H:?)9KJB$!J%3#N@C9.*2)V0BOB*1B?,JM!H1'56SK-FR%B!?$?!'9
MI])D6<DVF]]^B)AP%!"Z@<;1N05/WT ,L0\"'7#*S8>(355^$33&JFP5LM+4
M_M33A1'$2UEE+3'-$$$2*"%TUHVY!#3-?SQ? !^S9V]F $]E*/';#P@AF0(B
M=)H6O1(<(+,3[(N$%2S=NF2Z=7C,:3D$4TM%%QG96(&IL^PM!C$46<NMAD-
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
M%[ZRIHJ3G=G>G95P,GSPP?]RR0Q,4]'+^J^_X$P8^C_TYA/YS?\#4$L#!!0
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
M&#N$'X.3085(;/MG]@AV(^6[H2_RV88YQ,S9D%C0_]E7,\M -:W<_0U$(TL
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
MM#:CRT6C$A@FVB(5,P*6&-+X9S/2!1S3C*-7N'&JS,LHO;$-2JDRA;%"H(U
M=R1?8U)N[RC4DG*<13C6;"FI]JOU*GYG03/X_O2GE@<SVEB %">\2H5/=+B1
MA^&DWU)D$3NU>X.C M\GBV5Y._],)W3&?T45&'1\4LP*?I=C6@4P)+-!*=P;
M:G10RI0085JG^?QT0__"A[/@9+O.2HHXH9-M-2#3+G/Y.DLW[!#OASR/7Y)4
MO;RQ4?6[9K0WIK^(-.N!(:(#6'&9V:C6DRF, >\>1^DE.W&)K]NX;/%_YTE6
M_D3_M*$5J*@*&T6?_+,WI,L^LQ88[EE#E<7!ZH![DJ%_,@WT7*D$IU_5C;1N
M:@BW7NW/0W3DM1X\$,_])HF>DI3O]5 OD=]=6>9IC$G!/,9R:SB08*_NDRRN
M1G7I9*L+9OQQ!"R\>K=3YXY_T2G@__JWO[Y]\Y>_\\7 Q,FH]^2JW7$9G4(@
M/EH<G%%+0^2<VQ&:=*<8G$[-KN1=M&6!-;M-Y:%PB.UD.6#91G)?$@Q]M/"4
MF\?K2AH";\@&QV(?4%NKDO?,'CWL 8'DPI XI$4HH1&3;[=S@M.H'SQI[-CJ
MN612"A?44AF@CFH--<!0RPJF*:[5S'3;DR98'YQQ?%5R-J/.7'46_CSGJ: H
M-/JG(HFY 7EF2<71I7E?-HXW65AGNA<%AM7[X1<<NE8;S;KJ70\/#O,96N:=
M_IR4R_,-7>*L,+&DN9VJUP/3#L;TSDM;Z(%AJP-8X68Q2W1 Z%1/\#/.-N$=
M1FM/,;2+:.<;!G8*C<$W:Y>POY4.:6G:,>$3;3;78(=,)Q"/U/ 5E!(5P(Q)
M-BB%\%J>+4Y+3%93\FN6QZ^<-&_H_W+BG-]>_->OC^RH9+VFW@$<&*.5]$$2
M"ZB,&AJQX(0P8],>9H42R&@FRO9,;I?@RF,51BV?(XVE"=VQQJ 2G%QN.)7.
M#Z7:;@T:G&J*);5RE'+0 Q#RD(]@UDI@*&>+U#KV$9QWKHM>(R'W*1!RX$-/
MX?&E@>'VWB:,B8 $Y[_4975Q;P$L'*P7#&"7H48N52O1]!!KA2DI9+8T&%T,
M) %+#3TA -& 9;=-JL-M+(U!,_C-U+30:O@-F!JA]^.D2G$PLYD9HSA=M1I5
M*HFN#OJ:WS)Z\_:;X#QS/H(&Y="9VS&S(SA8YGR4[ 'NT;$[4J^+.49=AARI
MI.=+N2JH@TNX0S$PS%%CDSC1SYB4_/C]NM&JSB">H/_S^V^___X-6D<$/;,R
M_H[^=/+]]]^S_T-%E5X]VI3+G"3_PO'?4?N/"7M".J[NZ^[2KZ.H8"GA+O ,
ML[=IT+LW)XCQA,L-__7M":(EK3%_^S,-S]].5GIM>B=!S/<\*P,YG%R[,F X
MJP FFT;I&D_)T#<5/U4<???GDS??__7DW0]_EI"5<N_MG_YV\N<__[7YT9:^
M[WXX^<N??CAY^^<_R8K]_N2O?WE[\N?O_V)?[-O@C'\D."HV9&ODO$S0)^O5
M0+N\%Z7\,/]O%?,SO&#O .@6)4J$PMJD%FPZ0<0"($7Y=_3#R5]_^.O)G__R
MUXIV)W_]ZYN3/_^I)?,2I_%1#\)G<<Q#1U%Z%R7Q=78>K1.Z3%,%G%327L.
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
MX3X9.6V%= D\3<E@^#ZI.</NT12.HJIT23ZY\/.R;0WHYFO',B#V!.7\[E2
M5UY30$]Y@75+DS'@8;H%"DOJ?FF;<-.Y% !4-9EH0595$4="5P/\$5[) 5MQ
M]*-:;[VVQIK'<Q_*B)2Z%M'@%,<)^M=9^"-NMF-!X-YNU9_#]EA;CECVRYH@
M@+*?4FY7Z::[>QP\5S[_[7;-SPI=OF(R2PKE&G1$.=Y?^1MCIC!>N10"QL,?
MBUR7&;IYP'R>$Y1S=81K=;"TKGKI!+S6%@2 V!:&6C!;4PIT:INAC^7V40S=
MG_ +_T6=NMA*%P"3Y>;8#LNM(G2^2M':4O0E(B3*RF,9?T>24U &P$Z%0=9C
MZ]'P4PYW-$&/8A!M-HMPS/:J<5;P8_,\7^L8/TM7&@ JVYIL[1&KBX).=DO\
M8I9Z6MKI$U/AQV<:G29/#U2RU[[25&RW* X W:V-MO>3CY?PM@:X,OXHAOG.
M3>LQXWI?'0"SE4;9CMQ=7>C,50&V]4PZU^/!LK1^8W T367Z 'BJ-LMZR#TF
MIBH1CZ$JK('U'J]I!2[9-"#T35TEZ?6\4]3&#(&:.B4_E/Q;1<D,+]@KM\:-
M+ O 8BJE1J5@-Q1F'8(&)Z#-M2I%==BI0KFH,.8.3U</S/CH -;VEIOMY9D#
M-IWC+5R_&]VZYI#C&G,)%^*!@G<!-HLO,_,H+$<YXC@!O-WY$&<X3%6N! E_
M?[Y^^?!V?AX5RZLT?S&=U=6K!'F@4@->^E2E1![,>&D!4OU\)9VBF!+B6NB7
M1B_\4Y9T?&? [DC^G,0X?K_]7+!TFVV6Z;-9F3Q7-V(-"9I'%.0Y6\9(0P>3
MN6,I8/@[&KJP3F5$GG,B=[.+9PNZ4FV*",[KL_B?FSJ-W6-^CQE!DA3W?)['
M?!KF'^93/OO&(2NKVWL.\1TP_>N Q@U[8.=3J,P1:3[&5T/,6V?_.F/=].L-
M"]$GV3?LH4G^5?2TE?;8\)<QNB_KT#^G>-P326K54&\EF8Q1/9JDTH-V<MT!
M\W&]IB3?&-.M-23"WL]5*P$+RS=!$AJSM"BGW(8_0)MXSVGM:?UM#COO@5V=
M5&<>)00]LV#U0;-;*Y*NLWR8=#Z]H<8HD@:KQ;PE4-> ;"DED0GN01F "2')
M/#OESDW*9 /U[F:$FOCA#3!]V WN5&]P'+"A)DS=#JZ1;, .F^AKIO1-M5K@
MRWA5'O?@[3710R. 6TV+U^N;(Q,LXN:8$#9>N*1>-FKY7;I9F=!?M6E5@L^P
M;CC%15JE!2NY-P^C%)3]5SFYR#=/Y7R3GLUF^4;]CHA>Q2?';,!W"::3!\,N
M"Y!#:K4J_*33C)(LJ2)8  C&9M&,%KO]F20EOLA?5"M_F:#?G/$JH/UT\4,I
M,,110A.3Q->"*'\J:*G%C*[ZK)8 OMX;(&Q-<H&K_W9BN^?1.BFCU+"5X%*
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
MN9BWM,(:D&U288D,"-9H@ D)A2M11&49)]AN._5FG[9=AS;,INC."$7*CJ&
M?VK($G7T?P5&!TUZ#@D1PN3D^%B2]!&357$[?R0QA:.+T.B$O87^C(#;R)]2
M$@1/C/"$N!_U4DA"1PBNQ8]DBRSR/FPPY.K RN!W?X.&!-9NS.C\"((*,D1"
M#CK_<8X6UF-2*IR&OH#WYNT!$]J7_PJK@;N0A#F!_>;[Q.<FQ6^^?_K3&S9=
MQ?FZQ*H=:*6DM[.<>JCMP4VY& @:Z+$)1S*I-&+BIV]Z?D*MZ3^MJ3U9=,(>
MTYA:4D8M"8(U1GBR=*6PR%.-?_S;ZGQO,B&_,XH,8']6Z4J ((<2EIA=-%^'
M2MO6I>\C666ES233%0PQQXA 95/,3@H$';30;">8QSK)7^@Y1DL5C6R@&49-
M&*4@",Z8T+E,+\&HTRRA34E%%7)^YQD%S/Y4\P@P?Z@.F;"<"9LJM()ZL2$<
M@=*6G8!?"@R!]=N^^150HP\@">Y%9Q!H1(.T>.=HP&)Q]APEJ>(E19VT7RYH
M(?>)(14%Q!(=/G6F,R[(=CT\,^:Z.GY;AU'O\C294>1W))_=)!F^+O%*MA-B
MI>6+00XF-$RR4 '!*'N<0V;5FFU\O-%%418C5@".JV.*K"#$2_*][](:%W<-
MTT=5+'2\T\X$7R"=2@$6Y0PHQQ*N+BG,J6RY<9_RLD:EV_EST U+08TY>BI*
M% %34HUV+#79??^6GH<ZN#V/BB=N=_U<:\W4M"R:?]E1MGG1]6PV8X<U.U/
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
M<9,\X]B%NN.*\CI&[F%L;_P<40Z<L74\^"&WF=)IRK2@T+F^C$@=UGR1)2Q
M9,=="[T ]T_-9D@NGJJ5P%#0%JGJ:G1'<5_&S?+XE=/H#?U?3J7SVXO_^O4#
MB;*R_IR>069Q'\2Q!<WX8I(-3A-+@,),RS00E.O(AEO53L.2=2& [LC;#UB6
M)02GY5ZPAV2]P'-,")TXX?"UP+1"65#\@D)*<Y[4K\Z(H@VO6&GZ9::U*7TZ
M&M4 <= 6JSB'5II\/=+1#4Y ^1V]V^:]DFO:[%E)?4V6N%(?[QM5DM?C!^--
M[1U,<"\&#(''8Y??P'P"? /3-HRH$@]R,<XJC"B7A1;#,> $?2=NF ##CDM&
MK9 I22R895 !,XK9X13>D,<EJDGV]4U>%-\ RE;"1E""EW00I8-O!;(RRO)
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
MCPIS@>V<$7A.MIJ"P9!(A6S(E]T#/H%V]>4>ZEEY'A&RI19P;/8N^$ 1WCD
M-]C6GGGP;BT;M1P&N/!SB>W, ::+:\ -:=-Y#!+N"Y#C'S!3.7C3E7]LKVTI
MPVB3%0ZF&TQMD7J&/$%M(7P,[A8#)AXW1768HG<3?^/8.I<V,CCI![ZH3F:*
M.G8[FCSE0O/&9(SX93=E7ZSR[X**5<K=OK9:+Y)BEN;,-B>W4:H?/G2N,<OL
MP4N4P70#5\12]QW;>>U0W5]P*RHM2HTG7+32Z.O/WSY\B\KF;B,=;])J\,GR
M$D+,I'ZWR'JTT,A[/[MF.QHHA<'T?A-">2PNJJ:R53-U126:LYGNV11TV>-4
M6XN1)<YK'G/MO>7ZF%>/N?)KO+)C6\Y%>#L--]*X]J2<HWYP^NT!6G+4I7G9
M=]9[V?>4_IV_[5M,<:U[#U8VN7S'UL%.'Q0?AV8YD;%1/AXF#A [T/ %RHO2
MG66'_;QK4O*:[,?*@%Y>'ZU&</8YP93/Q6EG+7F8"7EOWKW?%'396A1T,']*
M,MXM%-VL35M$U[XS[;W</<OTR=I)S.^2>J\"O7)^C4F2QP]E1$K=<F<*@Z2A
M%\Y_ZJY6^2]G>/6$"7KWY@11CKX]D$L@(L?Q=5%L<'R5D\;2LQE=,1<)?U]&
M-B.-*,2;<S#:P-9#<"XA^$"]%VS!5UC2OV&49)U!FC%TIO(A$OX1?B+GJ?X,
MBCK?"11S 3:P^8WB5$/;918?;F!3!7R,0]N[X%/^%,'U]DKF(YXML^3W#3[X
MUJCZD\>VH6.JO*GW=U3?"SYR>S12O?O3[/+PVY_7V7I3;P2U!:)=B5_4MJND
MQFX\[,3J/_L%]&6A$CWTYYLO<@O7PM"I^O4-H,W;)IQ%JZ1Z8:SSF%['*&Z3
MHO;=BO#9Z<88U^U +OI@.L,(T$-B-T4T@21.ZX0I@.;K(R:K$952J4'A9=<(
M6RXRG:/@7P?HD',L9SY_MK.D,L%IUDOK2I=XY?:.HF5OQ+/#$6O6(:QS\&K5
M@Z7BM3!*F9%7HPN&AHZ )7E3N=()XFK5*U&-(AC77&F:R;FV4?2<J]?2D$'*
M7H,6&#I:0W4D(B1?4FGCYP+/-^E-,E>-EU::(/@HFF)%R)T:?$8*6%64Y%S$
M+1=Q428K_DC#AI> T@1"6C2EG3R;L6OEU$H@N-@SP(J&7 ,^ [LP[<@'):/C
MV6RV66WX4R47>$WPK'JNDOXYQ?RAXRRN<P/P?U?6@.J8WF3%>\Z0/FFE#'*I
M3U*VGT[QMZI39'C! .MVC":V:]B+V%M1/[*LU\U'4-SY2J!]1*41BJS8.GG/
MNX E.X.C:T\KK+9C78;#!V)8ZN:7)%79N_O9YT@S!-5E2_,;Q(,O VQ"]LCJ
M9W2*GO BR;(D6X!I_T<2944:U6/2':V@953@.A$_B[7S-#>,MRI?:U1)(5@U
MPE09 1V* >.JC<<NW%+IA)2KWH&BG5*@F:<Q;Y>;5Y5P12[I:[:Q]Q\,.!4C
M3(H2I^S$H8=R@$=]!&S*JCY%F ?%@P_ENU I>Y>AQ#=TW1Y?9R5%G;#,47Q3
MU2[<;2X@3,#;UC!YR-ND#6:8=H:L2]!9%7'*RT"[0IH+S%!BX!I+A>#Q\-R
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
M*:.4E7^"SE;YADK_PHO_[^!]=9JZNDDR?%WBE>I,Y.1?\=D_#U1%W9XY\2?
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
MH_W0$70DBXJ:H$MIOG+LG<MLFBQDRDKA(=-V=7L47:V79R^+ZV,C>W0I98'
MNH[!<,<NHBCMF+J"W@2E/^;AU)  GC_-)(L7JR2]A?+U4-L0O5PL.%O,V(13
M_9@?ST1O_O(#94)QL-TA =0-C@K<.$!;*SN&*N%((0>O9D=?'BA-I""'?.%"
MK3NZ]<66SUDRS\FJ?7^-CU965BDTPW%':XJ:0E(UH$S2816ROW^Z/C^[@^=I
MW:[Y&<)L<9,7Q7E$R)::Q'/=V\[0NA*"^E)FT[3.DUH].!W'8Q9>[F)WVAHE
ME%(M-.NJP2,L_<,Y/^#1,Z\Y#.+@5FI+";T(L##1Y/EKBH!+8"O<OD\"'2C&
M[Q1VAA#3MX_EP]I3TF*4IXQ8,(DV?T<GF ^/2];G:,"=C1EYWN4(S[",/Y=R
M@XL"Y)$4P23J2MA:ST6#,JT#5DLM*@=\+-LAU.<@ CJ&=?:&[/>\I4J!^*0Q
M0,$LB09$ATP-4[OGW=G" [7QW3'GCK E3[F]HU:49UE\^?LFT5UE<"XE/!6-
M)IJYJ2P"\.3J %_(4%'+\T4$;H1YUA>@-&[NU%'CKMN,!-6D,/R[4\TYE1N>
MZB.JP4Q^AT*/HSNX&R1Y=ZP6*R#WBCN"UU'2;!:Z,5_0#<]NA3DVPW=/\3A8
M*@<M#M5<RL,>7@=:]1+6_'-1]1+#!H%.,<2>C-D0V9:,6@L*G9P1"[%#)L72
MNFU8RD,F"'1<XX>>V=D'@I>T<[0GI)WZE[J0\".=R4#SD*<J 0I9]T(OO=7!
M3[6T\O79=L@$=J\1,-1TY.$1D0[TO:$&=WL?Q/X\NEPE!)UTX&5\DLF'(-2C
M;3A2 ]@B+ GZV'?'(H<0]U K:+1;;H(V\-U7 <T]/6;9B0<I^?8^Y+4W]3YG
M!,_R19;\BQME...LE/9)-0/D+L44HEY#WVO^UOI#&9%2QRP]5.%H5T>ZFQ6Z
M8"G4Z1Q*_[Y(LHP=L*'K#/8/6QR%GU@51M*1G+##C^S0Q29EQX*N:(O7K_O5
M;]5'KW=-#@JW&G0N' "71U:(!?4=2P:S232I.</>Q,]FL)5,5=9I\QXD[S3
M\I\X5<0=K0!RF ZD+!IL]S%4QNC.HRCW.+N.WAACQUDS]2/J-A?X8-W&L6@
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
M=MHK))[9H'?) AIM4CI \"$G2;)?8:J9TYJ+0AG!+1#V.EBC"(P^U'VX=%(
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
M89NX?Y;(-1T2;2?HE@T/[YZQWNW:-3/0'F*Y2F*^X=QZ9=@2^2E,=X+8;!G
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
M/O1-OR@"5(?R@YI1" S#R#1=^C,J'-X)G68920O8U,$$NO)0(E VQ&9%T=*
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
M6@(PPY\O*C,=S]G!!"9,\5VV<M@*05$5_0G*#LRH5P1:G/ 9+6>TBX3N4GE
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
M:+UUN?)"RL>1&\KV?:LD]:*;V542SZ_")Q)86D:[UH VTG^&M]:]O -HZ"-
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
MM8IOTA&VN&S*%:!*I6HE-]@"6*&)IZI2'9>&W6DJ.WU#2.5HM]'*5!'[H32
M =:)@F'AXD!XPJ;%Q=*CWZQ'PUI--SI9CT-B3;]*G(,KY&T$M!X<&S7=( ]J
MGD;NZNIACY7-1TE-@Z2ZAG.CH\(,:R29($ ?&^^]B*3EM>-KDID(4A3'?OZO
M)3M:Y=&I:=K.)YJDZ6E..2(VG6B_'G9R$_-1@+$3R8# YRN*DF>/&>)%PG:-
M^6,VRZ.FZ&;Z[)K!CI=I06<;G/#9;4C(1HP6?;%:"SM@IH^NV$0!G:KM"\Y,
M-C4U^Z6PXWWMJ9!I>= OAVT5X@GE4K:AX6GJ-)LS57GL1^$[4"G5W)W^=.<]
M?_8R0D,O@O"R7QQ[!=^!%IG>[K"RS5;.7_RD3P1"C:0.]C/O'?A1(H!.DKB!
MLWMK_'3AT;F.(%5Y[ U6BY6"5O.!SJ#$L==%'@=A/"_W=8KS)VE)[)?/+5!6
MZN"(X6]NH:E9*$LV"F(_?VYOZ@I=#WHQIGT]6LVFH1KZ@^CVY(* 0.]N#0?8
M+:'\%]Z<O+?PD._50G_RW)XL" S.1*@;'KK[[-%O).-;[-U+=_?\F1IQC;<,
M+-\JM0M8_ZGQO,OF2SQB7?Y@I+@@N?O@9/?%R>Z3VVCVM[<C>W\[LBD?.)Y=
M6]V1$Z[N#T$J-<2/;9>+UQBJH(9YY6Z,.\!2ZP.R2<6!8MV[#ROZN !-G6,E
M;<C8>+N%:9F_3BZF_+>F<\UNK;I!N=F0FTO;#DIC1Q=PL8Q!5Y4RV =E?1BN
MI*,Z=FC].8G)NEA)<L^$L>.IRF.?QPS EAX:=.:^W&^O]VZ7_";V='6P798#
M,&B&")W%[?.G)^OMCW\+">4NC/45=V#H5S;0^FY,>5U6.5!-T2/#I>_'-T4V
MA4-:-N,&P7;FK&(8IC'V@F8KV66\RMDFB6OWWC0":RMA3Z*M+%=%HAH5=P;=
MBHP?VC#WP97)<RCF/CC&W /U^.E9U:_ZF)7O%19YDM4$0NIBIRR#N:9JQ,%!
M0>?O(HR]V!?GGYN M&IXX2DE09A=)6FJ.W2W:@1[&]F.TA8XH7.[.X_862)/
M;>E%W P_L8&'"ZS96@+K8T=AMF/4#AUT,AMCBL6XBK^0Z6D<=88-A:LP._4H
M73.1Q;1M[?ZN5\<.Q&S'FA4V!QWC(1M"[(93_*C._@9/=^,#M@MI63YO32#
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
M,L]<U;TQT)AK&0P(^E!H.%>XC,N ?!Z Q/X3/'@OK4^'Y(TAAX9 CQYJ#'?
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
MYDZQ_ZH.G*>VY)=.LH!:T]WVKOW67?H/4$L#!!0    ( +J ;E@7L)9I4P@
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
MEH7)K-!LNAE[\>9XY:]IR(;RX(L9+-0*?9>-^W(;^@Z<_P-02P,$%     @
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
M=G3>^Q-]@V?OAN]/#_\/4$L#!!0    ( +J ;EB9#7MRP1<  )^U   (
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
ML(7*?Q,JKT,@!&\ P>2J2HIWIT48Z.!1!Y3U45,*!:'<)N^;*',#7<FO;;.
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
MY(<IZ;ERW59U75<Z+KRHQJ*_VE*T=!JGLQ!C:;>,1Z-V)G>,)& )'_*B5I&
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
M1ZF7N_45\?PM0GHL*..EP+'-*2?JA<N))YOS2Q(5C<(UM86,^"%IT2C<8%[
M,.970(I/05_ <!XG_QJKX\O\:3'1*%R6/^PJ6)(\*#ZIZ.>&]M#&+SYOZ&?H
MG7^'[SR#1[*HK;SS#-[)1:@M.\^5T;_8'?Q,&?,+'50NX6;)GK*%#FP!.2G/
MOUI[B_!K%EM*M5M\J&(!I52[AX5K&E=AX'#N1D@"NF<0'^.RDSEHGSJC>\4G
MQ9T#'< [,1Y*$U6<CZ"L^"CM/)0]N+I[^X6):@1">/LQB4!YC:),YMD7TD<X
M,J,TGION'XEDSB=OG;W#PG07(GO>)+I"2"_,"B'2ST 2$9VX@_P8: ?J,GNI
MZ;O?6(B%IY$<8#."ZR(!)PZY/,^"<,JB_<3P"C_[SX0/$@(&EM:E-STON$6Q
M =0?PTD@XFDB;M8YPZ+>]%-C_ZAP"_$+"W^ 10<TM[@#K(75X%_]4,EIE,Y/
ML4GN&4'A<F;:"'YRG@]JA:OO13/)E\#G(SGTL\1WHS$=Q.RZ<W\ :LYG/N1>
M?=9@E[(D/\U418ZX<!_FDYFPP%$5'PXHFFD?-9JEK-%/<^5CAE1\P>23V>Y1
M9!<N'XKFJZ\MXU4RTS#'1FK,&'#Q#C,\:D#1P?^@%3UD'JIHS?@8-)\1S,.#
M>"<+&^K*K^UC1K-;/*Y/80OWJ'$4+OL*6I4)2O=6[LR9R&^:K>45;_/^Q!%S
M3R[L/2-X/D7F$506GS9:-),4J(4=K)+>,INI"ASQX?.I-8L<U<J=C..#?<QH
MCI:R1C_-E8\:4N&'_9/9[E%DK]S9/CZ:8E7,P]7SI<RS?+-&LWI&]@S/^6'Q
M9MMT9=C,WHF('"] 7_KC%.*, QZA/9,0'=P_P7"[A><-K-C =V8-_/DD8N%C
MG"$^#XN/H#W?&&>N8^$A"D0$74&&W2N,8>\+-66"23?!S"CNLAFY.*B&U1W[
M+ E=',3#W&/7,<;G7?3B8 96=."S5GR_\#,Y@U[];')MYC(7?DBMPFAGKNV*
M*9HSU?NBCZ_B2]!_W@(MFI6++Y5^OC'.7,=GUK>6-M##U=.WEL;(AZNG;Q4^
M]ED2NCA?9C%JQ](6O3BWYXH.?-:*%X\N\ 0-9'G+O KZUO+6MG!]2^>-/\:_
M>'2P7#)F1*"/BH^WG0EX'/\LAIBG'C._BQG_\D3/%-(T^T$8B[]HU\^E?Y_[
ME%<> 0]$G(4.:K@GN,[! %EC^F(?+20,5<3PQMG]*<.KUXK/Q'N@2<ZY__0F
M.;+UX/>O+3-H:I@S8VA[A6N510UM,IM-]?^!I8LO.]^"T'/'Y--] RW>VEW@
M&O[40(LW=*>,SK0->X0TKM>*3VO_QD6WAY)@"+I-EU\D."<GPDO@NXD"JK3P
MX(F)^?5Z;1'U:T4.XJ%B%1C"P0*&,!T)IHE:9I>4BH^C])(K-L*OFK<L=%47
MD$^RML*7)2-/'-G>0MKQ/#2RZ%%#&UMKW?WD*A3.G*BQD\,>JX"[6LU%'1LY
M_7@"I[C1*I\Z_/T5'?[IW4!(@^NG&7LA^'(_R]A3QK< [AY';RYV>=L/+V][
MQO!_@^.9+XRKQV,1*\/59T'8X2(&6_%GN3H'[KPR7#UE?(O@ZH4*K9_@ZHN
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
M-87M('1Y6)4K\M;^Z,&>M>M;>S# */"$J\=<!<:D<9LO]"W[=$#2I,(D>-Z
MN9A5^H]7M5?T&<AW].?\2T$H>&P0 6WZKW?VK7#C'LY [>_3SN%4##VX_3W>
MH3L,O^8>/77I,I.KI_6=?3,:P/N;(6L+YYU]P?I<3OU%@!/:R-ZTK>_"7U*N
MTRSW?ALF?LH2A)S]J+9Y)PCAT0-:U>RD[T^9]-H:3GK*T?=-3'8Z<9J):W]^
MLQ:L#>J19)3!01%D+EJFR"<)]Q^O$&,=H_.*?*G@6N?K-Z0I8K)@FA>@2,!\
MGP7A+0O=ZN<@^ %;U4IA2!:]!HO7LM>#Z)N>B*RF[R>@ %WS01#&"%< Z]*'
M"ZJ_@H#TT;L?V8AIV*B]ZZ@5\^2* 0UZQ>B"^CM9,R'\(399MD,1_9!Z5@)'
M @4*"%#;;GI>YEX[P#HV"V[U<]]V;" O#D*4MW:'.;&FA[N(O1##KW:>>'P5
M/,MV R>1#Q&^H],*7;L]LD&IY"$=4/!*+F"*X HO<?.CL4)3&M))8JP5H2(0
MF,D@"?57':,[#GA()7CPV(K=3B*@,(ILA":/>7<D@QX#C_ER+H+V'ZB8##D-
ML9]&GA'37#T[,."/%8OANV9._);]#<;"$ HMAJ\&.,XX  $'/P*WW',G3@=(
MHK[PP33ICC(3H58;8=;0!QD#"ZGUM=1/;>X)F!+SO;[% :8;_RI Y(N$3WZ?
M>.[XEQQ8O)]]H?GA#JMO)N@ AN*^.W%UGXW&OZ+YG_@RB'&:F#?Q0\BQ#&CB
MAJB7I=J"!5,_W K/T]?"M\B$/O 0Y6K!*L/GB--L1_@S,3QP<W_ 0M)@,NN
MNR.&UW1[]BURLNT',7#)#\,$]N126HGO(<O!#6IE\$_)%<#R+ I\>DV;(?XH
M\ID;T!.""EX(JX8OZ28,P?0Y1W)%:#/'24+F $4W1'Z&=9 G ]\;V6JBD%,M
M9&Z]]7_XP:VOMK[\FX1!)2\)Y'Z@R<#]'80PA)YP>C#>D<TZ'5ARVG$X9? ?
MX;L@ \.105B%>W#WAQ(UM0+*UY![D043C@''(?4 R&Q.? YS>C@_<AC 57!O
M!%L&?A'] 4P=20FY7/=MNB^@JF*6,LV?W*V< &% 9G5['@J:;D(!T(H%EXUH
ML7DLD"&D0 C90+APH8-H,OAX[@]%&/CX@BV2X5)\PAM#4 ([8="W87-PW-WX
M7_D4 =(V(A89!%$D<)%Q>9,(+U.+8S//L_!A>I(K<$.(JX[$@]Z,<T L"U.
M8A;GS_/,DL"1@+-O!)OB;SB:4&K!>^2:,7^D;JG@)3#@-DA(@K:%!^I76[BT
M#DM@?O&A^17$A[D"UCVT40J$L#-AAN30>P'<DCL Z(6SUV@)9['Z4F (&QY:
MV]H3_HM7*KYQBR0/"!ON/KB5; ^(X[#*BLM Y(3(5E+@RS-0'J!A\(<JP+09
M(7OFCF:Z)CV2XQ#/!8O4D8Q4'),KZ?6.AF&N&%X$ILT<P]/.=3@-0.E V4UO
M]P*_6Z5/Z5;)GN,Y GW.W4A+UGNF!R5ME)#*@+M#"<]9JI74O^AHG;G)K(<V
M&>A('KQ.:UGW"\(S)20F7QS2;@U%.XE):$4)" GY8E3 (DLJ'*0RQ31.%&.>
MZ NIPU04.:Z$T9ZE]"DYZ-MPEH*^ D(WK!#5<HK2NQ,?T_C4>0WF![HR[7K%
M^J@6:_RLE[\W*P0=J\=I+L*79B\\J&22")\( 6[-A #7KT7#2&FY$U,CS]%4
M];U%%17. T(DPPE)6]K0(T[OZ.BA7/*^D$2^ANNT;M4Z/59O?;-EG_NP,MU>
MG"HS,\]S%D5)?Z!VS33VR6Q81X1 +O 3,D1N.-84]1YW+_)(@(H)O,=V>>0
M@\$-].+\62*9<9+3Z5(7#N6(Y_D^U7>S^H#UT"8H#YIG.FC.^\@5L&I69Y80
M>J1Z\:"\LXW,PEV%AQ#)*]JD;XN=/OEO7.AG\5VDGM6L)W7<T_KH(>:\H4\-
MJTT-&3T].*-H6O2F^JD DJ&QL1R&.-H_."J(] 73BB<6TI91VQQ/^.0TXD/F
M)1D=DM0":9@%8).Q 2B50W3@(,)<%!45^'TZ,ZXJ^ZU-BL(SD/I3&0*%BK(7
MNR3K(ZWZU(V"R&..PP>Q]$MUR)D!8LA-G%CI,:CMMKD24J"2=J13I<]#M!K$
M7R372I&U,G)@C4@M1=:S+\GZB*P@":6\:@L/RRK)L1S$VH>&(1@/_46)5*0&
MP!XC.T1G0:E0K<Z67R-22^GT[$NR/M))FW^9T)6/L>Q.*'Q=T:VB!B;P"F),
M=&5DJAUBI!6NZ6*>0VPGI<Q:'4&P1J26,NO9EV1]9);)!0A\HI$\T%(TH:TG
M7 U+H0W"4B:MS$9?(U)+1BG%SYP&G8N)4\% QF0S/B;,8KN5 ?:^<D,9)Q5^
M&ZE"Y)+O5F;7KQ&II=+T[$NR/E)+)JM$TMCS[2YAQ))]IR)ZI3=\E?;V&I%:
MBJ%G7Y+U$4.@]1!M^:SUUVGQ1)IZ.%:MPD%;(D^4C34'L<=- F$VP5#G%\Z1
MT$=TM$Z/WX $1/F'+P]RB?*R7B5-0I6)Y]/R6[>F;H@%50J7Y5>2Z!95DUB!
M3]FR_2#D8^F5^'4^P5+GK<%3*,M>%J00=U%^JS>B+K-I"B9Y%+BL@T+8M<IX
M3AR&F652G!7!0$4'I)D?S\R,K.A<:OA+5^O@GY2NC7_)DAR90HE%-\#_SY A
MN;.S=;"7UGN^6!;[)(8<<VE3EIK(&<>,=R9=3B'6 B7(-[!^F&F+L3Z/.<1<
M">9.>4(F+#Q8?6&?S?S->JB,+QIP]D/6%[%(;0G;Q0H;^GO\>BJ!(^Z/L4S*
M!QG8]K2#'T:0#.C>*01;V43[B&JE<%/@:]#N%6EGO8K.6L8DC%S2LHDJZ+.
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
MZ6 )MUS;HEF<7=K1D2!7A!;,&FZ9MJ&>!'2-IW23BU;[PU,U)_5TIU%V;L(
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
M)9Z@_ X-WHLK U>DDT8EX(\B@?H98Q(>'IV^!,'T_TA\N8V-,RU;-:@UB^-
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
MN$#6<[]+G:-R33!4HU5SIA#.*N;X@G!-GU:1?V_K4C7$6X4O0>X.>NCVPJ?
M4((I4#S$IW(_X1B$;U&=<4KHY!T*NRQ*VI%P!4, 6V8 F-K8AT=W:$/)J9J'
MC'5HV[);@<=5ZQT@8<A]P0D[FSI-CBQJ;4\F:TJ*AN=O^CX>E-><.KB")#W#
M6'F]5OTU9Z_J9B;P!N#;@]UWL+W[[<"+)-PQ-6*CUR@8L9!3%HK<^"3@+(W)
M14.2:- $UYO!J"*4BRB"$[NBJ[@1I H-;6!K$A$\[(LXEJ>NQV[E41UBXQS9
MAB?)<D8I$I;5R/J/(+2.=3U_J6T_LS#&EB0:<[W'7(.2GF(@ZL(";$K':.]2
M'HK0Z#(ZP $'=+WV=UMK>RJ[)@YB0MN34'<:&5!V99;[_0340NHWME.OV(U:
M8X?D)OS1J-"[9(V%-]JR;T!U3NEBCE1B71ELR97N-@[_3B@.IB!Y\O5C;[?U
MVTEOP"9A^DWWOFCGX*DO:FS9E_ 64M()\0^;A(_2EUGX#'03X//IJD<-0_?_
MS<P7C"O_-D$YA2,I2^5[S;/)&PDB%%5VN-B:,DA<^QQ=P#;*8(,;18 'IMXF
MA>V^_\_>MS6W;67ION-7H/K,.>54P1I)=BYNSYDJ178Z[G9BCY5TU\S+*9#<
M%-$& 38N4MB__JSKWFN#H&2G+45T\-#5CD@"^[JNW_K6JV6B7=*)89-5P4HZ
M*H(6BN8L&I%'E6%CS>NZ+Q?B[6"N#E[#'9G)<N:2'O4JET4%[E[!U.M,'YSV
M58F>Z+5+!IW:-V4^=SL#H#)W4L*3AKEO-D3$ T[:Y;=MN1XRORW:98U;.R82
M5=Y#VWYUC4IH65!]!MIZ0C0A#D)CVJD&2_W:\U&00:__ID<-4$1M3,6X=4(=
M3,[C4?J#, !S1MS4EW W6DS8$$]J15TB*A$BAC.VQ) +TN!B+U&5'-X##>U]
MI4;/Q$3@ES ^D"5%NT(JX;4,95#HHF)KE#9295V8=.+Q5[H),QD!4163#T9/
M9">A1-(D?*MOJR)/W&!W7A!NO<3!]&D$0V7K@!XH),RB#20G!<:>^0K.FR)4
MZ-A5XJ61B@^MA]98*,H!N:4C1@\*#$3,RAA.F^.ID 196 4<OZ.Z1]1=!49@
MT$L"3P^)/_H-2^2JCLA^81?JRXH%/,W*CB.7;JM23"ECRM&?000N-4N, !7(
M4]PB<S,W+^,N:!J72$+/[QM925H#$?$=8<F[BYH-8\M/A)^$]0R,O=@QL@;+
MK&;/+SK?272^2SBVBZW& .U9#%80UJ?RXOD#@&V6%LB/;$.NO@YU#5\R&T4=
MRL/@L$E*$I]7O\J^PE7>1"3%UWHG913D1QK>ZQ8#4S_ $73]+R"I"N1.AI_]
M5X&F3I:>@WWR/4&FL_1UORZ:/&783'+N-BM7<)@T/'EPZ*,7G<TP[92^-LN;
MX>WNX/B\*.;OBZH5_/:?Z]7PW]S,%^^>G4X27D '\*PM<D:;LSGN2S]6-5\B
MN UB\Y -9*K8)-$,<RBYWROLZ+7CKW&(I>VT9DYXNULK4D"&(A79!BYFB[9<
M30+/C 7C*C6N;6@2#@*,1HSS?(V^0'H&9P96[C,P>FY,)Y\<3_GD.\TGGQQ/
M">4IH7P(HN-O+I&BH7GP0*)$!C?=:+@I1BO*W2I;:@\"@O-2R<%9(]#UB4"@
M>6A2H971A/1,$9!YY3)N\MP2 %5-Y2QT]V"31G1V(4'8T(T,H\0A).\!4=2L
MY#HR2#%ZP&8P=H>^3*A7-2J'5;$1YW?.J=)T;_>0 &B]1&N!6LNBV14*FS*.
M]N=1(_A\:_L4<%!JP>P:L![S]R7WX8,!8ZA;C3'N7 UCWT;KEND7_>K;Y<FT
M(6V%M/HF.!8]XS-0=0]_T.#?_\F?DN0=[^;DZ=]GO\X=)R13CU8NE^ <X&O(
M3$YNC,VMD5\PD[3=%;J[\]+!SQ?4B$2N_3_CA[#NUO?DR(;& (#8JAWWD4!N
M[*\ODI9#^!+%2Y![G[[\^8SZAP;Z27:O](7&<TMB/DG,T+]^=8;NU_B(V 6
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
MXQWEX0*S74WITXS;2;#I/IHWU8!%2-QL,^'*-JWKQF+N']=TSH84T(%$PYO
M*60Y_U&J?I2SA]!(64!ZA 2L]YJ><X/ JJ443Z;M2+)TTU?!7F%($>: )&[^
M'-ZJKWE.OB[O&JT'G!@I^F7/>M>:2WR&YGG$!._# [*X*3<\Q@.*C8T[I!_"
M5H;X;!^;PGWD3Q$&4S>2'3(?\]YX,+9^A,>4^P#&P?_G/E2?ZV657 3.!ZPG
M6"X.BQ@ RW.INOI[7W'U.+RN<,O?F4EUP,+\!Y!$23CH<8,",!Y6^ZG1<Y+@
MF0_!6Y]9@R>^WH :^6QCFK%E$('B]+=)$'P:)KY)%409-;+_]4$DL9L";:O%
M1Z!!*/:6^-@;N1C8U0'<^"^/.5K3=C;4G+XHI#@!>\'79;^>%3ZPXJ^)TT"F
MN=X<CL'V3R@]KE?$?5W!@)LMPN*346_)!SM\N-7FCSFP3+E'7H<X=2+(^Q"C
M8_5EE*?L-;;[X8<EF+MN-_"PA7TN592J$I08\C;TMSI*?P#3%$/4F2X7AW9P
MY$OJJTQA2$JS,,1,.M>RB\?+1QGRC@C%.64\5,[# WN4_LTIP$Q&XR,ZY38*
MW,IQ]$E0$YGR#P_REXL_T+W.L6EW8>7K6!Z5]V%PN(_2"_1:;4<KWA->LY#8
ML*@(S=0/(WA) "C%5Y9O1(G[U=7[LK"10AU#>ZKVEEPR1=-SG__5Q4K4D."3
M8\P$*7^2^:]=[F<CYX>2UY)RX?ST#:VZ?=37C)$&X@%5B;S>APM#2UZ)MI'C
M0X!'B1!CD3A])^"P-!K3"]!1'R_[K<ES;O1-$>G8XDM,F'',\,MV_OK&$JCH
MB2IA\<O8CHT[)96X89<K10 +G,4?]23@#B1U<ZO8"ZT=:F7U1\E4(L"[Y33_
M&-IN<,)1SM(AB')O^U%SG+1J" 43D?^'-@*!/XSPOK;O$]=#15%Q.&/PACE'
MQ2-L3L)F"L6F:I8YF%_4ELECD]-;>U9MH]!PM+IF!^C(W+[2B5UI-L9UH6V;
M[+;7= T-5$ZM";OK(?5SL*=5T1J:+PU8<0[D<P4!78SP@#V3G&RY0['E_N82
M19F+P-1<GL75HG"%1Z([2?;#*%R#V%"Y@- BWB)WQA\M285L79<N)$GC,)>G
M[<;I=$F9ABKX?<$#?YUV /FX#A(!1K-!/*>:!</C&#A'VD&-BF3GG=DP^T-R
MU]JO.(Q8W(#"Q+X1"]^K4CKIL<\J)J M8+&0L6\=TN3*HNQ"_&Q[2E^6Z6/X
M^(W1.,+XT F.VN&N>\1?9B,<=,LQ( /FDXK%9=G_DNT#X'$"0&9JO-:XE.46
M=""UPUMSHUR%#L"2>E,T\8K*P!@E,2=Q^K&R90^E' +N&LQ@!J$G[8:7?4F5
M'6V=<;)_ ,E+0BG#8PXS+02_31 .\?/5./59?8&GV\$/JAYN07A/ O90!*S(
M.K)-7;JM^U"Z%I?Q-UVEC8YV8V<<'^0.V)KZ;>(4N53>9\IKY/]"$#@'UZ#>
M.N?_J-[B$#<^!@J_(03(-I*4K,'(? *3D2]H/+%P0+62D*W"IM^^Y+G>(N^"
M<T7</@-Y'.(1?/F1B $UU>RPEKQEE8>M+$80J?.Z,=;?.!PUXEWH.W))>XH
M!+^%-LO,D+BD2+*/3\D.!?UK[.1Q,R!Y/ C*H>;=L"EYO7PLD[%C:7?&>V(J
M6NMKWU/N<:3<O?89HG&&]B<1/A3M>]M4-O'R.;H3/L*/^K=N,%<SQH0XQ'E-
M\O& Y",;3MQBLZA(4XKC'X&MHH@]%8S!V7!X[SBQH%6((#:N\J9 M+&I,O2
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
MT(\)]B15($R0>]ZKE+EFDKH;1"3-QFD()RQ]R<Q.QB37UJ"\!$0ZP%$DWZC
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
MLQ2-SU>Z!2\ L<G]WDL\W<OI7D[W\FX">M66QK9P9;YE;>D[*/CKJ;UJYJ[
M,H[1;U!-(.)N!);3N*L"1C'CZK?O7IP%G+)R;FB3A)" 8X?"]*13K'.95PB.
M&:CO22Y,<F&2"W<O%S2:W_:S==%2->>2"HKZ1<'E)AU1:8E7'8D1DUWW/5DL
MT2C6=J-E3B*#!,Q80EXS#O/2Y5R5N\]SGV3")!,FF7"W$;^JJGOQU+G\B&-V
MRL>E=4WQ]^!6YPU=>4S52Z3.5:M<OY$-&DMQ)2-&^.?_Z$%P<&*1Y Z6K5U*
MS(]KQN@)T]V?[OYT]^_D[HN:9@<>F>V<ZZ@M68-A>.["G?L;N@[5U9=]L< K
M/MW-Z6Y.=_,^8FO,)K,I.KB8H"K[.5/DH*F,5$5$55D6\VW462YN$2G1<FUO
MR7T-0WT^YM$( T]L"-AE/IV5]?P]T=O@*&Z#P$_"8!(&DS"X(\?=&-T><4-]
M-[ [>T/,-N1X*_XG]8VZ@CQ8N!GSE" 78;<UEW^ZNM/5G:[N767 N=][7=$8
MB9A(NY!%S5BD:FPWU<VN]6U?].6L("5 >4]7>KK2TY6^)VT,%K.-9V6>!7]5
M; BZ5I;YK/88VK_7!3C1J+W1^\[H@@_O<^;-?;2[BTZB:3[?)LH?['!,L7,,
M;Q"RFT3 ) (F$7 ?WODEL\&D;EY7];J89^2-T^8+C2+Q2G@*,]_'N?9L7OI7
MWWQ#\:Z6#VVZT=.-GF[T?=QHI4>V=U;Q,AOZS^DN3G=QNHOW<1>O\E(K4#%D
M+4 S;M\K4!7D=MXPA:K^>;J?T_V<[N<=.<!YN6T[&I_6@0I%&?P*.W]AU<<B
M#VSQVH.8F%FBCS-A6^LPXR3M++1#L)2 :'^(Z49/-WJZT7=RHQ<.(U8>"T+]
M[!?>[EVF[YVI\ISNX70/IWMX-_>P:#=]9VYA:,@2-:(<ZS%!Y=2[_2LSZ0[)
MR$O\?CTK]9G359ZN\G25[\.)S3>;$G8:>6^Q8P:8R7WIR%JFN@@VA;'$8CZO
M^XJ2PQN\L(52+G#:9[&M8#SSZ>).%W>ZN'=4$4%]AG!TDF/%SCO*,[Z6K VG
M:;0_E.GX5S/5^.CUE!8-!TK:_> '_:I*HAZ0AM&=*]L(S>H;44J O_;_QEBB
ML;'LMS+I@)0J83T]-63^B#P+AH5<%VV2IV7=2I-[K&/A'E[2#H@[CF+W<);Q
M^ZCFI1F1P_)8KHSC!IC8W6<PRAO;)24WM$MZM;192"S=O:R)\ M[N<+C"FWB
MQA3YA/BEP4G,IH:+46J*<RL-<Z5?KO:%(F!2EFCSHKYJ^SD2!RW[4MM4SARU
M."^);VCAE@AG)A>4.^)*7R,L4/ E")]!^\B;NPV=3MV&]!=WTVWH=.HV-'4;
M.@31P>UNSL G>-SE[QT&PQ/J4-U:4E9P-Y")-5W4\YYK,U&"_MSE*Y3$JDV*
M%GM84_\Z*@(GO;9IR- !<<L^"\?<R8Y1S71.6;6ME_32 O&#--G4;^=^&[I2
M[U;>^7G=; 1VZ&G[<GN04G.0Q J@'Y[+]E]@?4^;G@5P(_R;8<8[9RDZ2LGN
M49IMF?F3<,_PHJN:_LE1*OO%EE]*B,J&N^?D\8<6;3GH_8VG[PQE'7;S@(>^
MJH:+\.T639,/F(->![EAP?A(ZR9<$%S%7N#7MAQ*.<A:,/N:9)E?P1A 9!ZE
M9W S+L6=[U;<VI%&C4DQQY;/.T>-71=^*ND-4_G$'8&FYC^_W^8_]R!4#R<0
M()Q%_W1<'[T*M9-X&Z67UZS,*W#65F[^7EMY@0!9NH881KEI6&B&/>-GP$=2
M0#FK\V:!C_/M@H:MSO+4:WU*"G2=6V\>+JOA0SSD#W-4]VW 3 ?E(6S)X8@_
M,@T7*OQ A%WE<PPN.4^DO"N\;+EIY:Y+L(# 1T9#QG^%2V(D<KHLRA*[5%?8
M< G<"OC[WY$F;HO6H8L>K4*8>D'6RV6!H31LYKY!4XW'MN7(%9'6P^,X8!9
M]FNBA\9B'?]8PAIA_)8C7&# E:49V"P,A*)_MMR=-VZZ70<^JDD,/[@M^;U*
MW*IF2"5ZQ$2EWZ\I-WRESO+#;4+W^1^C2=Y\M@=E,OO,6"E&1Z.[7M72'QML
M(N0 QKPB<H11?R$LQ;#F$ 6DIE/W@';RH(<ZG9[??$L.1V995Q61$CD\-;^\
M=!B#VW52)VS._0_ZIY5KG4U;<CQTE8-MBYZUHX0B;1/F80B$XE,Q1&:WFYS,
M0$,Y2J,@24[=(5RE:'U[IQEG-V>N<LN"=!<VG$.^6ZNW/@,@R<,?-*>P_^:2
M14T;A3$:V-=R2T#VBH!,&\K',9FACS!->>3?+H\L>\4TL+I#\[Q=W;)-Z5EH
MS138*?.MH!+@KQASDWXQ^:RMR[YSE(IM'&4V!4- @CN)4B-<' C6Z,)M\*F8
M\,WWI%-'(6\@,NKF/<H39==I'&69A5Y'_XJ31OP<=[XSWTA&$'995%T![^V:
M8BZO\^TKZPV61_:5M+VS/79I32OG%FTVR,?'H/$  T\$C\IQV3UY)$IP.[=&
M3*.[@A<>I7_CSEBXK0Q<A(5O>XRE%IC6IH$005E8,6WL(QLZO*C)^$4]J+-^
MD!?4BU2&>T@VLEV#K^8:*<:E<\[('<U-*@H$%&0_=XP(*NMV>,[MR<,>D'L>
MB[D /%#K_+U+=A"L);5M[1C >>6X;HGQL.TDS.\?%!2T[D><%[2G0.8Q# =/
MSD6@#'[YB]AD9VRZG3Q[\O0HO=A_6/BPRJ$2HQT)'>"L+0N'[4+AX716B,:L
M:DD&F4.JXJAH,$/#PAZ/--F1<_#ZL!&H5,HX3#VU\1DWI6^)?]+%R_/P--.O
M>%2S4*;*$7#)"3[)S*6[KM.MRQN6WO <ZJ'N50:!>OB"$0$4]E%/I'">I/,<
MN>4ZM'L7H$*\?>NO#6L_>.!B%S ^O&XS)ZCMI>C#LF#L@J6>@L]AT==,:7.4
MO%JF;;UVYH4?]BY#-4WX]L9IAB^7[XH($+"@@>7O/!OV,QDBS>5AZ[K!4#C&
MQ$MW'VI&_@AKX/"A=PWD.0QQXE4/W!5N( 3G&NP9LHF0BG1 /,[7)4\W/=R^
MN4J8U/0:5UP=VYHMEP%0XM4^O(-AT66+GI/@_\O1AFMXV>3K2;O<YZ#/L. E
MWI,,">SD=)CV+Z6[Q%*9H@)9G%,IC*EV##6.9'RW+@(3Z,%J:Q"D*%2I-=W@
M)'B-0[(TN)8LS4P+:VI3#:=FRX^!HU9>X5ND,C.49#(K/AS !9C7HFM %;2F
M00V+9#GM18670O2.L@(RF\*ZJ*B8A>2@3M$#JL&@!NUE[H+TVVGYU-,CN@YC
M(=BG"TUT..O$#V@[;G*EM_;9+OZ9<P&0;[=-%3]XYX0=?+@0%6SZ+6L (UTN
M89-H#.3!^:?+BC-LPO3[0GXFQ*]5L,3)K*;V8HN>P6WK67'9\Z]-49-6OF;V
M,;:%X)KZE\&_T8.A8X7K,0<?BG(3.38$AQWO9<MLD13^-@%=LLJ;M5L<I129
MHEFG7"D5)LXQ*C1N,;1$R@=G7\QQJWFMVZXL''4]E+*G>D8VB,>7T.L)K=*D
M(*6DK[J_ DEH>6:=7/F%#/_:*T!K<\#=0>R+6O+*DL,%;0/!#!N\*B[Q<O%%
M"@/5GQTEO!#J6?+<\[*M]RU F+,8 K)^]-A_@&4SM.ET4O2]\(6U6\]<HVTA
MDS%0$9*3X$OSII2>],V5T^ #F5EZ](/1R+2YG:-3;Q'BQ1(7%"W1OE);U#>M
MERXX5-D@XLH>02^C(F?)G-QQ79?I%J)Q-PLF\!J6BI:+7B><X%$)1<)6$,P'
MMB?]\>SBQ=E_I><2I?B!K*A,.4-IQ\KBO</=1H,8X52=PZZ:OG.?QEFK#ZM"
MG%SY6P9=+/[O'_[G_QT?/_V#MS4^I9WUZJ>7/R0GWQZE/__X[N7%F]=_??DB
MO?CI[+OOTO,W/_SP\L>?+B8KYWX&_6-=W8O'\9L6G3Z9BD[U%W=3=/ID*CK]
MW16=@AC7F=RKJ%;5].5=JJ;SH_3\O[]]^>[BY?G/[U[]]-^3.KJWD&Y?8?ZZ
MTXA^L4;G5ZN30N8<#%X,7L'[.:C9@MO9JL--_B8'Y,10;(KV_:ZC/=^BB<Z1
M7VS^CJ!^L*O/[9\3\L#P\>1SRTOUC>%U3MY!'N3H@]EZG3G"^FO-(U9&8EP)
M?0$U5<EW*7G0\AZTR'4D[#:CT^(P#,$6^LJ5&W06.R?D^D4%HG3-3@,^0TJG
M30J,1HK.+?7%I Y:VB23QN_'C1_IHQVXU?76.>+?F,,)J-<N?AD]%GP0+3-;
MD$O7<J?MK@/=BHL'K@/,$/Z?5HE)."K781Z3/?-MV[EU2XZLUFG[X,$\WB!L
M$4CI1Q/2\+N6R? ]Z12\;$:!C)I96R\K&N2R :V&KV]3K%(%/Z==L<^/Q_!'
MFANLS"MPP(NNY^*)"Q\^P.CN3]K,:)L^DD3$CZ\N?I*<PQ=^VSC\$U(/P]E%
MVV_"B+PDNAL\.PH)T;G"= -]SRT2V%2F4#&[S5'Q^&":1=KIQ"1HE%M/?7S%
MCM(+1%1B9 R\\RP!!]%5E_B]'"-,S>(Q'O3M8!S+HEF3QPU7N.TT:!,.@ZL6
M&VHN QX<]H"A*S\OZU[/B?F E]E?&FSSR-=A3K,(18@T^05F7X[2[_H&_5]R
M:/F$(R]H42_ V1V_(>"1NTYJEK&SC=3FY,2Q3VE\2CU'!U6GR;>%TQ>XQ[*\
ML&:^!#J:0#ION.M&1N&.#'SY1='S25@7%36QE4T8EV@'I@4.4G7]5"=R(SCZ
M'RF>&Y1"7FFJC>2KQ/BP<!__6Z47$ME2;(6/+_TD?IX>\)8N'6E1K+ E"3-S
M97U-D1B2QAK9_,05]K_)N3CXLONXF/Z34 1.M>_[QOH#JPFAP9/T2'R/6JO3
MN>L@=1G-NUPO*0II'UGW>M>SP8ONC>Q&3D?<$Q3\?H@F#Y'"\D['+]?@(9]_
MU$;,M^#MBW;7C5!S;Y]9P3I-CKG:)FJQ9]89R#2?A\:Y:Z[0 B>51H.@_%53
MYPO,CJ*5M8$GN_353_!?5T535SB^Z<Y\OG?F]ZF$P*.EL2G[6.DX5]E&'M(5
MN!"$A85+62/@R5\TI,ZD?W1T-U$S:;Y7?Y0W<5)UYM(__?(V54Q)Q[DU5H.8
MJ@,WKP5O;T<9!B<0$;GXU"M8EP6%+8C8P(Z8,I9UX[TI3*QFUL,%1[6%H5SV
M%7I7*"0P=8Z#B$1+))Q )"!'*<@:C/N"7A8.A@B!(=,>IZ<]I LQB8J#5J_#
MFRWXR5:2[0T1+2\XZ=XUX.A1<WN,BY4EB0'N#*0Q-OJ='/D]SB.&#M<NKTA.
MX(7?X(6S@_!AI?!41@=1RIP!S!+F 8>IP>C.Z+LR]50QD=ZC .K<:/A*[6JA
MB ^!P1!V^IB W72IITO]FU[JEW1O:'CKOH2GYXR ZI&UI].@75WM"12*63R9
ML=,Q_DV/\3DW7F8J%E9'Z695M%@! +H!;$ L6? @0=5*7FM0D<UTB*=#_)L>
MXKQI6!3O1B0"^I2]%6]\F:B=(FC1;MG4!#P&$8UM#2@S6% &F8+U^9[P^M0"
MXS<8])N^2482>&6.>-@:#60P1MLA;IM.P;7S4.G]^4<Y*NAM4\JD'LNX8-0*
M\\57"A/?EW\1X*JD>>,X,+KL2,LL>=0677_X=2;(>ZSB0OZ_%@0 _0L=<#BR
MF8"0,?$'?T\HS<COBY+I ^"[/^)8'&>*;@E9;HK&))/(KT]G32Z=*F 1^DXS
MWXM\C8#J SLZ8V#! QCV@:WR69LH@(7+W^&66(\NP #H7+;][.^."->[3BIC
MFHY8Q<' SBM&\C?NJH !4(QY>%NQ'&HW7)UCA0J5'BCP?0%#G6.Y1+'&.TYY
M&NT<J.55G\&)?OB#1@D>!"'57ZA\#-"ML;C#'N06G@JI K5B77,,1J(755IA
M" *K^'IX.E(O^*(9>(0MQ^I6V.A'B/';?H."=+ZBXMN&>,.X_H#A3,09T!5:
MH*2&,F<*I?S%H)C"(&E&280$$NH(CP@QJ!\%?6&Y;]\B;HENUZ#ZXUK7<3>
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
MY)/ZJ#$M]'&1C6!C/7 $!95]:M0NB].$<=<SZV +CV+G6YR%.VLP'NJB-P'
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
MZM"&4=JLIPD#["RW!1"G:".#,897TC<>V'ID6FP0;(Q$V8;H<+@8YZ"2B.V
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
M#]7JN2>/61Z6O4SSHAH@XT"C!$<.X!2X%>-@Z2V%3WZ!GH0[&A(HA#E0?"Q
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
M<>SX%_-R2:QDTSE;7AR7GJT\'KY_-FO=S\Y(65_G[)PH]2:&5U>G3_*4"BK
M_R]OJ?W]/!2FR'P%<&$DL?3BML7%=0I+1O5FLV3ULJ?WC<K'>WW%V:*9@:XD
M(>OMCY^D&K1=G9# "NM\.5']Q1\7$EOEE:8HM"@4+^45L5Q>W&.53>UU;&@A
M"-LQ4>6'[6K-HT]'O\\&I_WG#&3+JB9;#M=D#^8%*%XIA<=>8M;R"$/T8J&
M>:2,B'=W7VD*F\K>85XL5D#8%!=[X)DG"/QN#R990,)4V_4GUP(ATSNY/?[O
M9[WQ<)1?[?B/19+E3Y0G&4N1BK1W6!%5J01J<"=%TKVE]&1'1=X[+(N%(O9_
M+ YMI"<[*I%2@N'08-UQ./_=L^&Z1M"8&HB0DZ]&M__K]%O76%%' *[)"@!D
M&PW"( IO:#J8K+S=]80\TPD/CV^<U_XCR5DW +5W#3]I7ZX<G<W)XKB$Y\@B
M$^#OGS7U^NGGL6JTBIVB6\Z&P:>M!0J.T"MPV,/( U&@YB]1^&MRR?#)S .=
M:W;+I@5Q/3K;N6ZW;S4;SMB@%<1\N5G_XON'OE7XK3Z!%>0:+H(U%X219@MW
MM/UB:N-Q\=G \,UEO4KI9M!J'DOWE>6!633O,@$X*5@AC>9)5,.=TY.=J*)3
M,H1W.7V<#%YU[U ZD*2X0KZI7X071P<7]%Z8I!9E)K4P"*IC]]:RC2>]-T&R
M;JMP\?'8*/S^822A$D$4''J@H/E/G*;=V8PT"QI.L_W?U4[]Z.OM)YP0\VQH
MEB"&27A2)]HX LAG .-+"#4.1HS-X]#)&8,GYQ/JU*5,$VQ^ 8DT'&<\1:P_
M.[T[]?2B?V(FDV@<#H.>-4VFU04PM,:NXX)9"%IE A#M]J-^?B,]?/I=6@H2
M*WCB-#C'2Z&$<TS;>:AU+VIV'F=]IX"3VO(X\2"1F^/6S:A1J!=?@).E^8)A
M925\6WP.?"&$K03(4LI(3%NPE+- 8MI 5D!%)Y%ZR\G%>"G).)&-AP^.*6C
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
M/'"+66:?Y8SR^.L:V/A"^$H37G-2=M94=5-JP:>Z1PTV#T9ILOX!"+00'*[
MB1'M^&8;8D&#KP8\BF?+,@_YY#'S,-K,0SYYS#R,/O.0*%HVPL>29'>@*OH-
M;#-5.Z]^2)+1O/IASJ,?+EZB/E&*][T>_WZ>NVK'3RDLU"?<I]B;?-Q?W)QC
M ]X]:*+L#EZM>N8V'G7#'3K#9W,85LW%)8$I<.IBD8](HT6O)@A11.!3Q#0U
M_<02(BYMHA4\_:ABK44C!9ICJB%C9@F?)ZS G5>?,;,2K #>U LDU)C>$/YG
M*,H*[/D4,_)3R!GX0>7F/IO[)5'1;*4U,3T?V.AH"($J;'1T:J7::D+%M>]A
MY66-QQ=N+[%H>][QQ1"FM',IIO8)NW!@ >H::.^.8V$FBC"S9=%[]PG?NZ>=
M<UDKVOT+3'_#5 C%5F/U#D*SNJJ3OV$0?X;W+@VB81H8;R&1)&$EDA!->_X4
M^%H@V\2,W>*K "T5;Q*KL1#[ %\,B4*;MD@@C "8.+X2O!DP1!*F2>'X:32D
MD!,.>AB1S?2>MBA;0'74;2(P[<C+H#LP?V-NE9 /ZB!L?PV1'3W^"W[Z-R1%
MP=?8!.L1TXP4ZW54!>L/ND6D"4 DZ/[20^010_SZ03TNW(MU.W8FC>^P7"LC
M">MB7=G)23(#[%CO %6@J6)3L8N,CDHBTF*B)6LZQ$]HROR3.C @8"W;T68(
M-UGA(Q5Z(9E'MP\+9DI/1W^;AY!]$&@Z\C:-NXEI",)!X^_1.O MD\AI, K2
M!XUW$MG$]J+5W@ K6N"<E#7"4L QB48_J!(DF4US=[Q;#V'!S7I"HA[;-#'"
M+\3OD]11STX?P8)G0D*YNHV*5GC4P\UD++ ,,&SQX]!,Y0,I8Y.3@J5+<E*\
M%O (RRAL&]LI+A+P'/(9!#<Q(N(CVIS,^Q;3HB!4@.F'!(^ A_GM<1X*L!%[
M8RJ\'!.%Y+?DU+$3[I)3@'+)&D+4B%"A:-OM!+[H2X;$NL;8J00&XO?T#*7$
M!E"W2:(*!*VM3B,N?'6L%L/NZ83-IRW_$5Y2,JM7:8LQB+K:(^P'_JH/^L!M
MR=_A?%A0F@2/C]E3NZ9^;BTP+40 $.T>/CEP!$I4%'5$! Y(!/-T"8L!#OH
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
M^^T;D#7;UH#??8,XQX%ON;"^KFSXVWR>8A5,;%J;6**.TMZV<=XO'R/CS<<
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
MSZ%ON2 K<.&+$&1]S##,LHU9W !GY@+<.+6G;IBXD?#@1FOJ]WZXXO$?XIW
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
M.M*D^YU?H?'<F>B.B_U*[/3IZP@,V,8KQ^#U"R&0 -E"PEK \.MO994VT((
M"82/)V+Z];%!JLJM,K,RGXPM*BH<G6:S3+J4W[8B^<!YX6'M=\Z+(A36YW.%
M=&%K;GB:G-(AF)R%&+4]><Y6ZQ>OM%KZB5&3$:Q #T.DP<J?0+/B-PKP?-5[
M7KJL/,X??E_\OL_OUCWP55$2!7HZJX<K= GS3:(X^4KAO9 _SL8DS/V)@MWE
M=1R=>$"U-C:0<[T]^EVK3^:U$K\SG^1/1=^*V)HM5KEN+<<E&I)E)2:3IK/K
M]V#]P?TNL5FM*)@*T'](/QFDGW1,74R>UJD<B76Z& S>BKUZ9EPJ>%>R^E5[
MQFZLS*K9I5KD'SG?F_G*_)BO[V>^LCLR7W$.7#XZ;?(*E/X!"C\*W!R=#$;[
M0N)R_(E:S/X'_\51^&A/H7)F.I &@J0H&"WX05 _;-%A.MRXHS=UA<?3IY;;
M!#IKU=?XO_!L=L9+O>&(53Z6<ID89,2P%G>\F=4,?!0,_5C.B%H+<WW>S+Q<
MMKM*=ESCM7G>FJCEJ4)' 9(6;/2"Z+QY.8HWA:QBE54[#VDP&W?GUA"NXXS#
M>H)L+)K/' I--TF^_T_$(E[82,27VSB^D8@K7P+W);SQEQ]B8D0\5"%CXD0\
M?W1:S&PNXML<+J%SO'%4&'C/#8_S_/"_"4NTJETQ7'8\SSY*Q5QB5&V#N_+$
M*5[AZ/1/.EH.5/K/ZFJF?'6C-95B8J1_@^J$Q$D_3&+>!#-PZ=@)-ZJ [LR?
M&M?9'O-:U?-)AQ8_1 3N[FF-[_.*PG,I"S;C!R_# R_#*T.$YX=4) OP:>:+
MM)\I+4V#*)<6K?>ZS^[,'XO7U]V2>GW[F?1Y>-4A*PUX-25(GG/N.$, [?00
M*[(P A-9+OR%&<SOXEU=SV3LW92'Z7H'.O@N;DB,>F<N3]X^ZLB GD_#C)(S
MC0%E&8,$ F&04:#1)\9.SPS!\QZQF-G,?_,:OUY>H?R6TG>$EF?,,A^UY%Z^
MUM=9O6]Y-[4E14I371Z)L@2H,H9.!?HZ(:N@2@%M+O'E,]=OK2UYM]8VI)["
MLRI/<<C4:#(U5O@Q.P/?%QD1=#A0/1-X*(9&3E]GGNGPIJ-M+K"F\VVY::\.
MWU.8:_.6BGNU-,E<<LBI$RRI"+_?H^4M9-;I+JW>UU[^";7V7=Z-0452)ITO
MTK%TBB:ME'69UP-<VMK7R>Q+=LHBTYJ,RCE;\G/A)!]7Z:) J,?###=O\>\U
MNQ-6''/W-Q_AQ1_32$4VDSQY0\20[51C<7.[U(\RZ$<Y72JN?\>X;@%7U";?
M\PK:^P@/-\XE]KML6^CSX1V NK>L,\VGR;#&=9\&8H #P!/-7S[]X[A-#]Q&
MS(C%911=90N9="X7<Z5/N*Q%N3.?"C=OM>*K)#:3/J?O$+,6A[O8^$%EZZP"
M'K_:Y)76D/4>3IEER@$HLKY/Z,R50;97S$@/74Y(N%B;L+%E7]C86F=^\Z"V
MNE_OC4DE<W1J;IL:HY@/;_P'038<@NRRP)RQJM"K2%Q-$#%LJU]6+)LI+&7%
M"I[HL&L]OS,_DRK#U_/)P_0YZ;;7"_D5.:*RU!-$]"!(?DG ,1:&%K$2AW^#
MXG%Y)$CX=[J*3GODU2)_JJ>+K ;),Q4J,M%G.4(=BG?*M0KTPYFU&0837$RK
MI:RT&CP <AX_^31G/@UF8'S=UR^&K:)XU0N34 -153$U#6&E+#/3=)F9)"79
MMD>;]2EYBP/[M.@)'_O1OE!^2Z.K42,?"^+A0<R'S'O"PCYGE=X[PPIO'^O
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
M19ZZD9&/W>:5$66Q/@6LI_Z"A\&",O2O1:G OV1^_4W!:P6,0&HF< 55U3%
MJ]G(=MS%:BU8#\ HQ3BOSQMG*5JCW.\+/;05XOCKH@:Y_W3*L7D)GL'Q8]B&
MI.'# <Y%]+<3ZEZB*OH ,<8NAX"U>-*( DMD8@8;Z28)=T+ DHW%L1-6$'&]
M#]I7RMJ3CMY-MKE(#]@,^B\[&"C\ $#:T).6?<(S)_+=JA/![T!8;.^LF*L\
MEQ6,,-P1&H:G6%KP#V&-4$RU./"G/97;0UE7$6G/A;[&\Q*( DB"M3OXHNGC
M78SO1Z6KUH5:[UD^WIU%./-"AMS0$/J)!@$MH5CET,5%%T]T6N3CE1P3>M:B
M1F3.'H/"CPPX>X$.G_>]%TEH!LLNM2B[*0_9G:(8?%E8JSL4UN5\423"^C;[
M_/A\_M*FMYEO(:Q+P]3V(ZS(X<VEL_EBNIPM^LHJJ[DSYH<?J21\R9;W1B+2
M[^&UQ8EHZZV\CJ!>K<#M<M#(ISR37P*WK7F"VV[ZJLY<ORGWSY\:@VOM/>$Q
MGQ?.K:J/T!+0AU0C84&QQCXI3L?W_^$O_']0:I>F/HD]:2#R_./M92$,2BT1
M-,H4M$0"TH:?^G3 <):V#V)9ZC\%V])"*3+:SZGZ%Z_T!!2%-9%]7XFM\(T)
M<<X*"FD=^H.)\,"/6 &/,C,'C>BL2-T(?9[Z"Z/HNE (DPB,:MBR; &9,@>4
M@I=7S/BB*L8P?JP414!GF"S'OH@Y,X?8N6K&^H^/W<9;MU!]XSVB,.-QE.-Y
M:>K,G&BWW;"RK8,TO[UZ1F=,I% 8!28+EY(,PZ2SA6QT<\TBE32OH4>%>(1L
M";;$/#;PJ0&B!]6+GN(WD7)*KUNZN[ZU"S)7G$*'(HQ!-(E<1'UZM)G<T6GF
MQ+,2)*D26EF6T.YJ;G1]N'$G2Q->13Q8X@5.XM18C8=C'9_J@4+Z^?OI,?-X
M=:M/A_Y":GL(\0OH3DBR,QG-0V]3EDFHC 8^V(^'P5^*=;QEZ"&M1Z>8YS8\
M^%:81+8"TQ$>,60H8T-JH@A5]M/.9E-ZO:JW?G.YL!Z,L?$()O$R^<RFDW@C
M(WAF'8+[%C)X4CSP7/?D1I,;B=VQ=/5\V0U]H$?)CMS>V9&-3?Y7GV+>;2&U
M9B_W?G7]6!1"'5]1LB, 'O0P(=)B"$B]3'/]:RPHD9OF?(2BB5>(O[/"/E_<
M*^.[095K/9;#VF=C]Y%(X,:3TB.C>BU*^^Q!]O6-=/=C+M=_T\7[7(!%6#+2
M$?*D0.^=)RY-V,*E?@H98GBRHG(MU>GY]+TQ"3@O'<8Y2C;LRW5)CG%>PUD^
MEY4^CS[-_:<*I0>BF&C'V5BMCH*M8.O\_CG\^KAY[_,U,:QU]J!$).*X?]>M
M&*6E]F#!^I8Z6Q_Q^?KL\ZO<"VVIX^+/OGRY@!1Y%(F0179M;,CU5J-]F<F_
MYW*A['A<3-J7NY,<F[Z)P^U[YV:JEFN&VEZF$_A8*JA3::BJSG,U7+5!C U)
MM3F+6*S-=(2[#B=XR_%\Q'\R5Q^5YU;H \%Z[AIWD.LCH*Z_S9VBHQ<89!^+
M=+I87IW)##WE(=R%:J#8;3J%PY:U<K3Q"V%.N#/1-R5?G8'XM>:5Y_#W1FXQ
M#4&;:&Z-(J5*C&+MEZ+'6./,:L3DG8]\V5ZZ,QW>+&#>W=V*;8E])5SFBK+V
M4.[39_V0@6'4TEV]K[WL\+YI%V;;3[XQ#'P^0L.];_E>6P0V_GZ\(SQ6%.AD
M(@XPHLS=^];@N%"IQB.E-\X^?T@S=O,:G(36W43M9&$P #I'I_/%U54-T48\
M":RG<8G2Y6?[.MNOE)]O DZ-]>II#JJ&)H;#(4/C&II=#Y_TDK8HL]:;U<:X
M!*Y^>3-[IXN]+R8;16W,H=7#Q"%O#*Z'\6K?2D0^)PCK<%MN^*N^57OL*#V&
M9KI,A]->O47SJW8E9KCW9OO.?<MU;,[A#:IIQHTO?_N)[*98&,M0?YRNP(M<
MC5"[)^6B&&:.3O,GI9(+ 623Y.+N+] /LK;))<+%][,'[;;\>=U@]E#;5-K_
MC<Q:#GG$M4TN;N2O%+5RQ[VT9N&=JRC9L?\+F+52@3'4-KE80G_DKKFO1U:O
MBKNN;2K]7+6L<7T>3T'36J6/&Q8TN5W>L]G'E)Y5GYX*>RAH*N^_>";2@M--
M"II<+)F/5/;AOB;.]( H)+Z"IO+^BX#K>RIH<K'B_&52>WG5\XUQ<=<%3>5]
M^2O)L<B;.<OQUS:YNGIBJ&URB>+TK"HVWVXD_7W?M4WE W/=XJAM<K&'8^X&
MS+PN3/D 2[&;VJ;R_JN$$U3;Y.)4^_QQ]/'2UA0FX+8]]N*F#+TOUR<Y]CVT
MQWUP%4UT5!5-+NG5;Q$=M6;_JQ ZB1)115-HP0[P'P_FRGG#PSZ>@B&7$'R\
M-E]T[HNOC<J[*1@*R_H G_4 69]+1C6-V]?0Q]7G6BE?+X7K@=L)ZP.<PH-A
M_:$6FH0/E,PE90@-5U2D9%?M++/9L8J_1G&RWA7YS2N%HR]IJ7OKV^MMYO4Q
M>_OX52N&/G/Q_P8?N/Y42%#)B]=-WQ8E+YGL.B4OGN*VN1ZOEM;0+_0J:%BK
M-3*J\IFZ_S'1J&F9N_;5XYD4/B0-$N(0Q$E\2<TVXNQ7XI +65)S6-+L@F3>
M?WF.,/U]=G\F#2^O,^N7Y\0IS-^K9"<?LF0GN?*\Q@L#G-Z%R5]1!0+K5[+X
MUP1=9JIOYX->OGONAG+:N";(T).8"H(B*<-?GX:+ HY"E=Q)J1RR&&@CJ8NR
M;#RQN;^?Q1S$8O8261JN& 9W/H3(,LIB.,?>5T26SU_M<ZGY?/-0#FJ6<-+R
M  )+U_9W$E@6OV]@&66AFH,Y&P>6FM!Z4%D]UY="EPZF@X0X*8%E2-KL++ L
M?<O LK3'K#JP-E"T+P:YV;EX\2SE0R$8Q2K6^VE9A9WL3,++/Z'F4JCIJA'?
M@O?^]LPO3F+\@\W:6SO[]''[WKIP5R6N$6QZ:DS"NT\VH.."F&?IW06<_\'S
M5+R&W3HF!U4JG?G3UQO-7ZIWCX_;S?J)>2H3'LMDS',^_?>_CH^I<X$7N7^H
M)B+_+_2D3YV7>N@)N?(O8I/_H;(YZOC84&E.F(2O>B#;.M;DL3&XQ_B%^94"
MWNY:$VO"S:'Q&NKC'ZZA]7F)@T.$%A[M_*0Y#L-)29.&OZCV;(S>7U'8KM#[
M1<%0/$+G.QD(FBL[O_4?\VOP)UL&30'\]S^(\AX\4'CVX[C+(\U%SQYC'CJI
M7O"@.GV 5'<KIQ=AG.0$.A-2.@1^Z]E3?_B<.I@3ILD:.H,$9)\%246'RP3?
M#:#PVAAK3O%F><3Z<\+2%')IQCR,N>+%61K/MOP_*X_T[4,4NX"H#;MKF)OS
M+WNTYUV22=](TQ<'7CHKT<RIENJT]EOM=@M?A0_KS&_X$Y+\PB+GCL*U0%IX
MPJ]D+?B5I3&7;AJ$]';I15]W\?1GCD[]1ZV").%1P5_H41H2HI1+?J(L>@@E
M/V,I+Q4\@7PVDJ*G\R);>1EH^5KI.TF1"\1G:RDZSJ,##)TX:'>%(('* ,!/
MSE>DD*D4T;_)N%Y[1K27!724_YCD]TK66O8.&[@%<76;NYA01)9D5&@XQ'0+
M$]>^K<XR9Y-9_LL.^"MKTFR'!0]!<ND]NC=V:<R"-'JE7!>D$8N02U:B;'D,
M*2M;&+*;^VZI4;N\S?6_BZSLVG+E0%9*?K*2,F1ET:LZH2IX%+G+*J7!45-X
M:@K_D63T6I+ILDT9$CG\>X7OR0,)^87@JJ,M'N-('\9R6Q1&!P[\S*-7BXB;
M''(;S>?\3)..><G_=D\?$.<4H0>$QT)(/2(9^ADKO=E8:9N8F):8E-A&K)PQ
M70*\GH49T[DU9DRO^=[._'.8I_N<]E ;Y@Y@X/0 4N84![:^#S< EIE_:#VJ
MU(" ,5""BNRBQBLC04+_TE4SH.R),OX9K?J#UZ@Q+K=$7X:_ 1%9:?:__XWH
M7_RE@F$:R1*Q513Z 3YCOSTU%;0A_AVKJG)/ '/E;<O8D:QHV.S)$V0XX2M@
M(F$98^SKF@M@@4LJ\1A=<[5Y3853P'BGXTQ+X8V#E36,ICUQ&WW^9]SVAN.V
MJYVY=#L1GUE]WOSHAAJW[? S;"6D')84D_K!X%*35;[13.[P;2*.#R=W4+%=
M_@':%;*UY!L,:+:U?B$+[\X&V[.<L;12$?_?&NLP[X/Q72H%EZD+H[7'81NA
MDC!!NI!#BO=H>M#['A^=BR(NK'_JZ"AJ2,@>ZK@Y\Q[BA?:0E9;OQH/'2OO&
MBM;OO1P?I+UFW#CDBH7;VL5E2^IZ5'EY&^ST@E'WG[N:V^E@X'5)&C1VU21?
M)Y!Z4=6'9:&J/9TI%-,Y)I_0Z:Q>U3*19$C"LVVKV<);*\I-^ZIP_OQQI[ZS
M_M4WGM;VT-5EJP'&,6J23^%.MG!T6CXI>^6@-U2D@YX2'$G*>Z6PA)@?O+4&
M]CYGM-3*-AN/7G!P?D=5&"#"/6G8(M%"7N2$TJ=<L5"@RX529"<4KF N9_)I
M].3]XB5'7!:_)I-6GT&Q'4##"_7B7LN,A"=W1]6J ^A@E&#-LV:/6N)W^I0
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
M->-@X&&]#/*4&.2*EG*A]J8QSB\D2UAI1@U9CNKS,")9A,O:P/8Q2&7_GT4
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
M*W10=W&M,Q?S[*?V/'M[>.037M1V<$7_RWW>/XN-;K'.BF1!I52]^\[W-%R
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
MO +5J5"1Q^.J&+@9Y_@)+\KCD6%+3+T!'5;U,=0K6M8HO"OD-YO2I8.EA<"
M+*LB<35[4<;0M-B4D1#)4=;0G&@W&F<J)CW3:EGAL_?VUG>D[&SZ44[ZF8-)
M5Z4E G>ZGJ8&+C]BK65 :[V:?!;*;N#NT!PHZ&CHQQ;;$G&BVDD/ZP^PHF+G
M9:1Z5\5(+UI] A4UG@F!+)U=2@@X(=-\'X$\QM%L_E@9S*\?A*2GJ\PRT;QO
M*B'?F<N3VQ)S4;R\5MZ/3NU]4V3CNZP/W4=1<\)5YTZ6EJO) [*I#-V9UQ_N
MORXJY5)1ZR=</#VALX+@LG(_<%DQPV7E?N"RXH?+^I,1LL!4O75H)F][!5$>
M=XUV_395/J&JEY6[BWJ+:MQ1E;L:56NT*A</]?IM_:[=HIX;[4NJ4JW>/]ZU
M*_"+^SOSGXV["_R%\\9=Y:[:J-S 5ZLW]ZW'A_K)P74:?(_S+GY'(YL_R1ZT
M5D4+? +Z6;#UT]2J"E*K^[OVP_U-"^M(\^&^6J\AQ6CMPSG\X1FQ>'5(QN$\
M)!Z-:-U74E5(1,HBN:UJ*G*/Y]"OU1]>[8E7SWP*T'1PLHNE5%XC_5T6OWI.
M?HTM?E%_L=#>W<?M+NBK#SKRD9@L>\SD_^+_-C/9]2]26T]5>MK?Z.,JV@5)
M<? 2?CIN#'/ &J:,CA/.:",V%D+>05J"5:HOB*0/2-6[(T'3%EH=G*]TMC>D
MR>)5%7Y4]1&B,:39R 4B>3+TEPO:4)#([20T%)F%_^J8[PE]P5B';MZVPKK1
M3YP\UDC7#WRQ5:^>."7>CX(&/EG:ZN$6!;0;EH!2F%]*+7TI! TI7QJB!;(X
M^X][OB6SY0H3E3Q%P\15;>(:'5 I+]*RO9X^TDG6"I8)]7BZA#Q7*XWESL;:
M#5#.>UUXSUA!_Q;&K.BX#B>;-W\/C>3H1U9,F=?D:7S),P;$ D7 ?6BRV6"(
MN"?.K*YSD(,!J^"76>2QI?SG:-^'Z;G7E913'G J'[?;X)9!Q'/-:$T$A(J@
M&S3[[^>FC)A_3U,\.8IX4B? ]_N GC+AH6'.>'8JA+UC\8==Z?L3ZLSLVL-/
MMXZ]M+/7#Y!@T(,-/$*L:K!DC]<NZSN&<C&7[+<($'OCYL(&DX%/HT=#W:!#
M^(G*VQ@U"]QT%W9.2:&RW$_!>BT%-*R&>?E!T$1XQ+8%CMD?5Y%9(UV$^.(5
MB16O2 N/,=O9,$Q##TPV7C@6B<>3UHG9>"C.H F.Q_;6V0U'C 0R72>[:KOY
MT6A/QZ]*FNE2B(\-R6"SX?-1]U!Q8VOH@\G]GP@V[B5[%6T;NHUGT*6&[(0W
MH%4 00?Y!\ZN2(^#7#"9:U@N"I=3>5D(\!0Q2 D&D!1<;J.*_48*.8[]O['Y
M8_+<,?Z7CUN'/$G[;K6/+ VR$9\Z.C-(;SFQB&!C\:9,S!7D#;#8D(+3AXP0
MZ>:VD+=$X0,<!F1)[2^DR!>\[Y5#$^"G,SI^JW-KG;4F?U(52=(M(P/GL\L<
MR?LT1S_'QRJ'D$1OZAA:O,&=P9Z#"KEL01V:KH<9N^)_<\BSARA@/=OD$\4B
M8^1C?DXHM%"?2&:5I^KKI0*2@MXCH93#C40&+>7GMJZQ3U_OM2&AC7R8,9B/
M^ZHC#Q>OHJ<(V#;B/ 'B!S*\1M +#2,0BN/ZJQ;P3,8F^EX9L)(P-PKLC+0
MM)IP4W9&OJ5B6+"_JO>M>PQMY=)3\Y(8_C  F HN=:ZP(WXJ*Q_47QF:R?[]
M$\#M0U]QZ)/"H8_@*SP.6!0K\ DON%"-N#+^^3EA8\>U%)8/5 L#R$AC8<0_
M9 !4S4Q"X8\A\T 8;E?AHF!44$E9WUA'QKSG#.3Z O(1[7!U65!2OH*B"CA>
MY+%?QP)&PS$$BB*O$(!, ?UT0KG]!'.A(&BP'57OOB-IPYDDQW:,?=AK3_FL
M'06RJLX22$J2*#2,7JM>)0HP!G70O%>H.D-Y64(.Z<AWQ<0Q3S'T\?7!*T!P
M@47^I\ BY@*+_$^!Q4^!1=+M!ESY2I"MD+34C757 MUV5'W9/3:O&7]22WM,
M+2TG^",(DQQ8R/Y)=%?N7N)2:\1*"F^ *-M7:(Y;M\!$.^ (]M#:)T9Z2E H
M&?L3:(/J2>K2 !K&"W?ZR*8S!<7@X'RLL3GH %W'I4YAO,*QPD^,)E1PT-$[
M6?1;7E%D ^,;_ME76)T[H2K6,]49<GY&:;14R))!OFTH3Y'3)>+7]GBT2W(5
M2)JJ(-,&&/<+#HU-MW0*MLQVT1&M:WS:048+0-DFG@6 N+ 4S*P1KYU0YY &
M!-)B)&G,+\R-Y2^,H-%$X?LBH3-TB_:TE/E"A3?R@@3U'W=Y: KD&!RMI@8N
MNH%!8G %/[?K1*0C%?T@V>0N%,D"1O,_H<[X'HMB:G-+@FG41(=1@WL045Q:
MO8I)OY =L%?@I+1)U&6:.A^) ?-4 S,<L/)($UT*<]T&^\9)5)P5)H+"6]A\
MYKJIQ763<(!<-+%D4 -Y^;O.#<@ED"#9>.!&^L&8A=!G=5&;I5.$UNA+V*W@
MY*E$-DCPM[LV 5GD^8_&2 FQ[((\CY"'SG[P2&XY@DT)J=ST(IV 48+2TT<3
M@D%H9#%0F"(@^D&8@Z0"XW"K\LCLY8:VXQGV-W35(#X@R,,K94 TY&58!_IG
MU^FV8T54L/@O2+!*FAH=H@H I$1(G6R%QL.4A20O2/AVE, TFDU*P.31F-"?
M[4(I ;P'9[2%H2SC/K^^KH$5P5IORS+8%4(.)%?+L@*(ZV1UV&2H.HI6 &A1
M<M@X4 -\N\=1 QDMU4C9@YR-961#-; ]QKMML-!?Q#K!);V#,03J%>.8([-E
M)O,<O+:O)%+VLW RGR@]=,P8P$!C4; O$,<H!L"#0= G'983WH>S$P(&/_75
M2VI9+[$>&UDI*SF16C:2D-FR[STYG8#KFU**M0PO@8@T,(3<O]AZ]I/4VGO!
M8=%=<'AV0MVW+^L/5./N_/[AMM)NW-_]N)GQ+]G14$FFI8S0)X:J?V,EX'2:
MJ7(+L3R%$3.,82;++9;9#L_WN.-CN =@Z&Z>J2A*A51WG8OLH,-USXVQ9O0B
MEM-4D/+B>;O_6GQWS^HK&D^]DZ6U'_S[K<AEIK];G[5L.* &AE[H?5QL:^S*
MLLBS$IX68W:GH:7]X[.LQ9;&3(P+\"?-XAH0$8QJ.S>N@R?.@]EP*;NA/NH>
MS&XK(TE;P9*O\NOPI:E=75Z7W+RN>_,ZS'.'^G6C5?T8YJZ*.V*UO:I%*N=V
MQVF_)>2/3LFU ;L^KUE\8Y2A?Y'K//JXFS]F ,^:(^&=!3&"/\;\ N$PO@%)
MV9#?2L'-!.LH:\!@#U:1: /\N!Q= @/T0!#5P6=L[2)9NWRL9T^*^8,^U\W3
MN!1G>PY4[5I=-=1#_:+R4(/&&W3(UQL7=]35XT.C56M4X;QO4>W+2IMJ/M2?
MZG=MY FTFG7RAY]VG&_;CG-X:F3="2QH43D>+6I6'MJI1J,1KP(L;ND0F!!W
MC)*A73$*0X,M>T FZ?ZAE:;J+_7J8[OQ5*?NS\\;U?H#Z92JWC\T[Q\J[3IU
M<?]4?X#6PI]NPMU<I_,IUS@*GA1'&R7PX#!!FF9@9.C&LBI8-300T+@Q Y=&
M,Y):"3+2B<G@F"BW- D#TDK.QA&CB-T<)X.ST8K &XEM[.R8SR>#Y9;7@$*N
M*8' ,<?KX RVKEKY,O3X3QU1M@]M(CA]DV(U31&ZNF;L5/T01-'(&(IV(XE[
M]I0Y4X<4UN,WX"_A=>(YCJKY+O(86!A/IDU:VX"=P'M3[KVPJC4YT4A-G3AN
M*RRJ&T\E.3=[FH\UF\>U[D@/KK@UR;Z;==[%+M_5KKV#A:M:WRO=Y1D0X9\?
M'KIZZ@W%'FX&0LC-PBN.@7X\# ^9*NS8HD 6+I2CA59!EF/!B'M 88=?NP^4
M>-"6,I'N:$DH-\*KCX95RY,/HO=$$/<J@Q_FQ<&\?"EJ/6L:)_(RNSR ]#>W
M6[@R);31VHI4D:9J"= P+ ]P$:.1YIC7O%I6MY3$>&U'D?[#J!SEJG"Y"1'7
MY7*4M O(U0.L-4[]CUC- \Q)A(7ABH!<:ECVF2)/X]/_G6SFP U#KO1#_GWO
MP;8OKI(V;%1:/$2-K#+[<206"5?7H>\;+Z^F*[RT9&L3N^X#MQGYW ^5(_:(
MC>S/CX(OTN4*\IQX=7>\J,H_H<(N0@7FA\H_VKT+NCP(O2$ZLO'ZT&>ZPH]^
M[T*_RS]4/CS]/L0XO\Y-3?6^U97Q<';88=J!ZWT^/KW_'N3?P1X"+84Y>C3I
M]0D'7U(!X)145X$>0@+U.;.NXRT1L$H:? LJ#KZK/NE+_K=[ZAA)2<%-&JZF
M(,4KB"?A9Z@!PJ(!7687<#CJ84S^FX.6"%Q$9:P((@4(,B?4K7)"EF$]BI<&
M[,#HN5*$"4$6,L='V54R?44>4>=\5]%!SIARN6S6K(QA>I2DG5"7/,:7 -P<
M29"=LL9J5(W56,B3LUR/Q5,-4U59&<L$2S&-OB3RI ;9:.[#>YFB?8GH[6G<
M9'>L(4([FCU'> HH3,-DTY3$3XW*&GD\%&#PD8$W\<5SQ]"OASO<9$5#^B/(
MZ).L.(/I2"FTBTPQ3=/T0E\<Z3[M\[BF!_V"D 0JCC AT/[SL'^@ ]YX3S[N
M@[X9G:&8P1PPN%J_][]1@7]8-$D9D$"DF2]--:3>B?FV4LYX6SZ-K#GBFHN<
ME(.<%-LSP%^M3U +#R= MHBF0*)_A=/J6<N8J?K,:KWAO_\13M,IFR4VR3&5
M54$S0&LM!%,B/P)N>A1P-YP!'(*DE(>&%BQY^)K4 O@8*T1(K.HK] 1;9.#=
MR#H-A7'*K@HC?6[DR03A5S#JJ0 E"2/IP"=Z[%C0+ &QZZ-4:BB,%FJD2(<V
MX8S[#FQ!$5.&(O[82\\BXAUX'<B0DBLW?-V&#2FT32*]#D#&!:FRS%:&SC G
M%+1V4%>ZB/]-4X!K(RY^)HVEE;S&5F5L61??8@H%*'+EN"H3Z'>XYD _Z!H9
M48P5>8K;4 %!BM-QL[!@ N5"DZC*\V;75V\)@=$!O8/!N/&KH7T2M ]W7:93
M(UX9F+616/=-A2&PWP:Z','"!8 Y6Z$!Q\2T(/#AKLX-\&1EDTRL9%*%!LVQ
MR.8DT904%RX-(87!@2R<"_A!UO!#!A\<5B,;_,*?W$^(N ZU!"I;Y$ACA#55
M1ZN#E3<,"YW"D_W([C4 :5,T=>0P.\^LP@]E:("]E$4P;RKA$)Q!"Z9EYD!+
M0#;UCE4Y]I.Z$.4NHEN+QZWU-G:>.AMU9?3[YO-EFC [M16STY3FW)UY_ACM
M]K [IP08P,0^CTVQ&-0J;>*'BN29YHAN$QS=0J9NU:MIYTJASYD%<'C- 5"P
MM' "F\7JG."$P$@C@=)PQR_N+@: /3GM0E(F4CH1D"6 #G%XACUJLC?D.4"8
M2B^#+WL"+Q.\>EE#K\25Q>0<1Z<Z1L\RGJG)*:\]..47+P+*6(GTWB/OBD@K
MC<77(<W^PNN<77YNJ"W!#5P4R92?2)I& P,< "(79_/(O7C/<Q?,G^7_Y6!E
M&,?"QILCL-+@]J6(XP(]YZ#Q2P\"8CHM"P8E (,_AA_A7E< 1LB*6<H=))#&
MQ $ %G/+8<HIAR;D_EB<6<<[_A.K=%GDF%+W7R(_ \!*@U.W+-@G&GMG3JX%
MF'3#<;*F=HC8G@/ZHO0A(OI5D2K,8(H'0%>J-E.,09^&RV=B=!H([&[^+"*7
MJ/[0+*JFH!?I&* EM0P3OH .@NPKAP>^6VC_Q""U>#)D-$?G+& V/X(9%IUF
M@&(F]=S42I%!TQ4+/:%%G'QD8Z^;MQ=IZN:F:9/&<.(Y4YG-B;;H%1,D%4C6
MJ9XHF"@9(Q@Q"Z@22 .16B%W4#UQ+&"(E +"BC,4QR*"*P!845'(5RN+I^,M
M"[AU6#J;3O?=^!A:^(RXU$"21TD &P>'(OK\H\8.G6_%T372 !A;BIS!9@5>
MAS]TZ Y@, Q=X0>&+F88NL(/#-T/#%W2[<;VJ4:K%>B?O<RNW55(:O)V)VCJ
MN]F248]FUZ)U3QVI1VI$(C>#S>[6+R/M>*5+//:03ZB:<F)5MH$L@>"<RP:(
M$J1:ZO?PA$MD-Y4NP!C9CG"*I5I3056/"3+4D/Q^ 7MY>4B]!L[< ,4XW$10
M965FQ7-XOA4BZ9RDJX8\*VK#'G*^D2MDP"N)D"LKXEGV*C@RUK87$DR$MD8*
M%D,SDLT[,J?&C)NA(*(8>*C(8XB\>[HQ14<4^BAD[.&\EXH3B$9*V&A.M)9N
M45<%2#WP[XT<K9W^,D97= 44\A@CZ&]YK@T_JT8O7JK2US"IK3 !=DV2(V2L
M%*[+A%2!/<?> H5 430KRB.T-.09 9P6\?"KR-]$OET+Q008)HVZ09$#Y'*'
M"^G0>T7 8PE,PJ1N'=CWZ)&\,M(YUN:-$;1\ KPPQJ/"F3J 8H>7VC-]' (
M*0T =Q,TW4Y[6(0B?B8ALC5@6YRED+/"P2PPY)-6C83A!?(QI0\CYC@>0@J2
M,T#MR!+LERX)-5J^I%E,(N*S .-/P-6(_R\1]YQ$W"GD^),,.FM! .;H_TM!
MMZ?IRSK%!>U4DB=&VAP+(L;\PE"$\");JJWD/6_BWV'O>F;F5JD!SF6(,Z -
M6@; =T!N8 )!GHI4H6M^KZ=W61 DI'8\;V8*S.PP7I>&PE/STWAY8 <0&[$#
M 23^X/DQQ8+?HN(\CAGT:>B_G-'52^(IK#TGJ4LX<S@(&R@+%PYR!8@?,K*
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
M\L&VGT3,APC+08R0<JP.K!2X'[;00J< '*([EMZ[,0>M.4]R@M4"&(Z^<Q$
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
MIY^O&C-9RO0SGL@+XT6>R35O\@JG;OBZU.]2KE$C:CG/, 0:=CG@P'SD%IT
MOZ(#["*([7_02*K-0L)7)_PF8K8YMQP5&3T )^-R3\9&3>$BE 4CU^CSB+8
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
MR=($[ICB_'X<4#:OVH[9.I8%$.IOL71($=U97MPQ4%M^HY1Y#-N#+-@=Z 2
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
M9</[9NR$8AQX Q%&LF/8DS+$*8A]\^#WW(#^_.).W%@,5'KXWQP_<<('NW5
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
MN^/R#T@2\<,4*&5HY6\6\'.4B-#N!?'8[L.Z834AK)#N![:5( ':<2@<('H
M9!JZ=_ *%6H;NHA">-^V4]CJQ4OO(W(5J]FMVY]A!^'KW;_;-\D$@'@ [/<^
M5FHY%=R!B\ 7E0*X ,?6S_]G=]?^[ IO\!/%V#_ W2 B_#[<U3WX8/_#\1+X
MV-ZW=W>E"CQP[Q0XO2 <B' 7F 7PB9_L3QZ.\&W6.[#N*/#<@5K?+JB\<HWR
M"W5+EVB9U%2P+3QOZ@P&KC_ZZ[O&._H;8.VKO_,O[0>>YTPC $Y]^F#?NX-X
MC,MM_*7HR&2^N!_:.9X8TAVINI][=*%%I&%2X?"#?0ML]B?0Z9R>V_]@7S@3
MP7B^"!"AW0/]KCUU&_Z4*?)*B_]Y#S!?L ? B[_M]@2P<7CVE/90QWJW .N-
M"F(]H]_'$*.CDW)&D&Q?>S*KQ.B6;Z"#I+DY_^7B^/:WZ[.;U0J6E7L7JL"F
MKZ3A8$GE'75V-R3M/^]E;:.FW^SL#-X_XCK5W:8U^;R1&Z$;.@;=,K+!9 !5
MTDDBT"SC,6B'(7F9T73H"3N"58J!!:]#*Z<GQHXWM'L/]* $].60+\"_0Y'X
M<!,]STGB<1#"H@;55P0S-JFSQ5FV^>QEY5C;^B-%ZT6D[C\#P8'?_O5=ZP58
M6[U6?7*Y>WI^_,O%Y<WM^<E-C< ^OSC)J]1O%^&39--!JBFGNU-"V"X[@/L'
M?WF#8_!&9+/B=9XZL?B)H/OJA/VQW019TVJTEI+[O'+@/STPZ(\!.V/I].8M
MG=(LYV?WXUZT1PLXO7='X]@^&SG^SWONV[.OLG*$MQ.&90.5*8; 8ZHQ%%-M
MB@&H2JYSGXQ=,62*^P[V"U5W7 Z';E^$->I*0#YE\C"?@AW4CX-05] )+R5?
MXLY5Z/I]=^IXQ>M\KRW(G+4J0&4TQ^W;$M 3-T]%_!2Z\-!/87!O5,2-. ;E
M%_A$<I+XB.RJ)<PS?>6SZSL@UAU/R?&J+65&+\G6@\K6<;\?)#ZE&\\OS^29
ME20:\$2W?^;71Y\_I9-(SWU/>,&]<ND/ P_^PBV?BC"B[!1?>?WY9986/D J
M<3EMI.^@;YQ P&]E,LD 4T-<?^#VX8,)!3PA%/#!7AAH?6F48$$"ZBK5%[F@
MUN&B6/E2@Y/P:"=.0C'KH7^UA[BU9A?V"K9@?V&ZPC*WX-:-/8/^-SL!Z'U?
M8GCJB0RCVAI].:$RQ195P]_JS]GRV-+ZHTR&NM;E"3?(?B:D%*@FX(J"U9LI
M/A^)[I4!O.H0S],#.@:U%1"QU=Z1<D)E5-FJX<^HLH]%PPQU+3M(8I!J5-87
M!PL-\;Q.9?U1K,]HL)62K-7>D7)"9338JN'/:+#V63(2OK!/DU#X3C@P6NRK
M_&7&RVI4UF>OF8\@AT;28V@(Z*TA+2=4FR@DJ[TCY83*G+.JX<\HH_;9X!Z$
MG_TU":?C!Z.*&E74J*)K5D7I ')AOCR$AGS>&M)R0K6) K+:.U).J,PYJQK^
MC")J_\WA6[TH,(%]HX<:/73-NT/GCP!19]!0SUM#6DZH-E$\5GM'R@F5.6=5
MPY]10^UKMS]&ARA<VG.-(FH44:.(KGEWY DD4-0I-/3SUI"6$ZHW%)$5;JCS
M^$B1PP_VY93F'OUD?W&BV(P56<58D<,7CA4I_?0,G=)^WNL%@P?\=QQ/O(__
M'U!+ 0(4 Q0    ( +J ;E@E%%GHKA   ,_#   1              "  0
M  !C;V1X+3(P,C,Q,C,Q+GAS9%!+ 0(4 Q0    ( +J ;E@ 1GE-)!D  ,Q4
M 0 5              "  =T0  !C;V1X+3(P,C,Q,C,Q7V-A;"YX;6Q02P$"
M% ,4    " "Z@&Y845A\2+@H  "I= ( %0              @ $T*@  8V]D
M>"TR,#(S,3(S,5]D968N>&UL4$L! A0#%     @ NH!N6-O@8H/E?@  X<4'
M !4              ( !'U,  &-O9'@M,C R,S$R,S%?;&%B+GAM;%!+ 0(4
M Q0    ( +J ;EB$%Z4 &U4  ,;!!0 5              "  3?2  !C;V1X
M+3(P,C,Q,C,Q7W!R92YX;6Q02P$"% ,4    " "Z@&Y8;8986U #  !7%
M"@              @ &%)P$ 97@R,2TQ+FAT;5!+ 0(4 Q0    ( +J ;EA$
MVY]>B ,  .$/   *              "  ?TJ 0!E>#(S+3$N:'1M4$L! A0#
M%     @ NH!N6'\%]Y'R @  K L   H              ( !K2X! &5X,C,M
M,BYH=&U02P$"% ,4    " "Z@&Y8%["6:5,(   *1P  "@
M@ '',0$ 97@S,2TQ+FAT;5!+ 0(4 Q0    ( +J ;EBFVY5^00@  )Q&   *
M              "  4(Z 0!E>#,Q+3(N:'1M4$L! A0#%     @ NH!N6-Z^
M#?:)!   >AD   H              ( !JT(! &5X,S(M,2YH=&U02P$"% ,4
M    " "Z@&Y8E436#(0$   F&@  "@              @ %<1P$ 97@S,BTR
M+FAT;5!+ 0(4 Q0    ( +J ;EA5=?,%&1   *N'   )              "
M 0A, 0!E>#0M,2YH=&U02P$"% ,4    " "Z@&Y8F0U[<L$7  "?M0  "
M            @ %(7 $ 97@Y-RYH=&U02P$"% ,4    " "Z@&Y8L1CL6NAT
M @"S)!D #               @ $O= $ 9F]R;3$P+6LN:'1M4$L%!@     /
-  \ >@,  $'I P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>form10-k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:CODX="http://codiagnostics.com/20231231"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  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: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="codx-20231231.xsd" xlink:type="simple"/>
    <context id="From2023-01-01to2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-03-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2024-03-12</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ProductRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:ProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ProductRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:ProductRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_GrantRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:GrantRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_GrantRevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:GrantRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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">0001692415</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_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</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_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</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_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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">0001692415</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="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</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">0001692415</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_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</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="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</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_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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">0001692415</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="From2023-01-012023-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_OneCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:OneCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_OneGrantingAgencyMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:OneGrantingAgencyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersTogetherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:CustomersTogetherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CashMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CashMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CashMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_CashMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MeasurementInputSharePriceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_MeasurementInputSharePriceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MeasurementInputStrikePriceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputStrikePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MeasurementInputStrikePriceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputStrikePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MeasurementInputPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_MeasurementInputPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MeasurementInputExpectedTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_country_US_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_country_US_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_country_US_us-gaap_GrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_country_US_us-gaap_GrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_GrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_GrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RestOfWorldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RestOfWorldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <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:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <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:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>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">0001692415</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="From2022-01-012022-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</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_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-08-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-08-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</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">0001692415</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="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</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_SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_SellingAndMarketingExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</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_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</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_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_LeaseAmendmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:LeaseAmendmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SethEganMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">CODX:SethEganMember</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_WinstonEganMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">CODX:WinstonEganMember</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_CoSaraDiagnosticsPvtLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">CODX:CoSaraDiagnosticsPvtLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-10-012023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</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>
    <dei:AmendmentFlag contextRef="From2023-01-01to2023-12-31" id="ixv-14706">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-01-01to2023-12-31" id="ixv-14707">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2023-01-01to2023-12-31" id="ixv-14708">0001692415</dei:EntityCentralIndexKey>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0073"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0113"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0124"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0145"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0146"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_GrantRevenueMember"
      id="xdx2ixbrl0209"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0235"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0251"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0304"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0306"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0308"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0312"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0316"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0318"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0320"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0321"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0326"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0328"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0330"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0331"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0336"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0338"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0340"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0341"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0346"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0348"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0350"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0351"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0356"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0357"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0359"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0360"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0361"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0364"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0365"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0366"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0367"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0369"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0372"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0373"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0374"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0375"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0376"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0380"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0388"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0392"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0400"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0404"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0406"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0408"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0409"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0414"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0415"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0417"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0418"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0419"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0422"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0423"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0424"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0425"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0427"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0430"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0431"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0432"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0433"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0434"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0438"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0446"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0450"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0458"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0474"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0487"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0546"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0567"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0568"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:BusinessAcquisitionMeasurementPeriodAdjustments
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0582"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:StockIssuedDuringPeriodValueAcquisitionsAdjustments
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0585"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0588"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2023-12-31_us-gaap_CashMember"
      id="xdx2ixbrl0695"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-01-012023-12-31_us-gaap_CashMember"
      id="xdx2ixbrl0697"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_CashMember"
      id="xdx2ixbrl0703"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0707"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-01-012023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0709"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0715"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0719"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0721"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0727"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0731"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0737"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0743"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0749"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0755"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2022-12-31_us-gaap_CashMember"
      id="xdx2ixbrl0767"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-01-012022-12-31_us-gaap_CashMember"
      id="xdx2ixbrl0769"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_CashMember"
      id="xdx2ixbrl0775"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0779"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-01-012022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0781"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0787"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0791"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-01-012022-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0793"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0799"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0803"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0815"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0827"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0842"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0843"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0846"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0848"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0853"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0856"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0857"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0861"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0862"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0866"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0867"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0873"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0876"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0878"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0883"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0886"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0887"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0891"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0892"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0896"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      id="xdx2ixbrl0897"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Goodwill
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0977"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0979"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      id="xdx2ixbrl0987"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      id="xdx2ixbrl1009"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31_country_US_us-gaap_GrantMember"
      id="xdx2ixbrl1058"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_GrantMember"
      id="xdx2ixbrl1066"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_GrantMember"
      id="xdx2ixbrl1067"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1088"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1106"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1107"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1152"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1154"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1156"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1158"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1160"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1162"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1164"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1166"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1168"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1184"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1186"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1188"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1190"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1192"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1194"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1196"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1198"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1200"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1202"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1204"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1206"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1290"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1292"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1294"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1296"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1298"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1300"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1302"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1304"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1306"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1322"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1324"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1326"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1328"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1330"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1332"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1334"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1336"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1338"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1340"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1342"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1344"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:ChangeInValuationAllowance
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1407"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1480"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1483"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1489"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1512"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1513"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1518"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2023-01-01to2023-12-31" id="ixv-16109">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2023-01-01to2023-12-31" id="ixv-16110">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-01-01to2023-12-31" id="ixv-45">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-01-01to2023-12-31" id="ixv-16111">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2023-01-01to2023-12-31" id="ixv-16112">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2023-01-01to2023-12-31" id="ixv-16113">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2023-01-01to2023-12-31" id="ixv-16114">001-38148</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-01-01to2023-12-31" id="ixv-16115">CO-DIAGNOSTICS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-01-01to2023-12-31" id="ixv-16116">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-01-01to2023-12-31" id="ixv-16117">46-2609396</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-01-01to2023-12-31" id="ixv-16118">2401 S. Foothill Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2023-01-01to2023-12-31" id="ixv-16119">Salt Lake City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-01-01to2023-12-31" id="ixv-16120">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2023-01-01to2023-12-31" id="ixv-16121">84109</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-01-01to2023-12-31" id="ixv-16122">(801)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-01-01to2023-12-31" id="ixv-16123">438-1036</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-01-01to2023-12-31" id="ixv-16124">Common     Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-01-01to2023-12-31" id="ixv-16125">CODX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-01-01to2023-12-31" id="ixv-16126">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2023-01-01to2023-12-31" id="ixv-16127">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2023-01-01to2023-12-31" id="ixv-16128">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2023-01-01to2023-12-31" id="ixv-16129">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-01-01to2023-12-31" id="ixv-16130">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-01-01to2023-12-31" id="ixv-16131">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-01-01to2023-12-31" id="ixv-16132">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-01-01to2023-12-31" id="ixv-16133">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="From2023-01-01to2023-12-31" id="ixv-16134">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="From2023-01-01to2023-12-31" id="ixv-16135">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="From2023-01-01to2023-12-31" id="ixv-16136">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="AsOf2023-06-30"
      decimals="0"
      id="ixv-16137"
      unitRef="USD">33000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-03-12"
      decimals="INF"
      id="ixv-16138"
      unitRef="Shares">31259668</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId contextRef="From2023-01-01to2023-12-31" id="ixv-16139">270</dei:AuditorFirmId>
    <dei:AuditorFirmId contextRef="From2022-01-012022-12-31" id="ixv-16140">457</dei:AuditorFirmId>
    <dei:AuditorName contextRef="From2023-01-01to2023-12-31" id="ixv-16141">Tanner LLC</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2023-01-01to2023-12-31" id="ixv-16142">Salt Lake City, Utah</dei:AuditorLocation>
    <dei:AuditorName contextRef="From2022-01-012022-12-31" id="ixv-16143">Haynie &amp; Company</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2022-01-012022-12-31" id="ixv-16144">Salt Lake City, Utah</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16145"
      unitRef="USD">14916878</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16146"
      unitRef="USD">22973803</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16147"
      unitRef="USD">43631510</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16148"
      unitRef="USD">58289066</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16149"
      unitRef="USD">303926</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16150"
      unitRef="USD">3453723</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16151"
      unitRef="USD">1664725</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16152"
      unitRef="USD">5310473</us-gaap:InventoryNet>
    <us-gaap:IncomeTaxReceivable
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16153"
      unitRef="USD">26955</us-gaap:IncomeTaxReceivable>
    <us-gaap:IncomeTaxReceivable
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16154"
      unitRef="USD">1870419</us-gaap:IncomeTaxReceivable>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16155"
      unitRef="USD">1597114</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16156"
      unitRef="USD">761187</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16157"
      unitRef="USD">75000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16158"
      unitRef="USD">62141108</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16159"
      unitRef="USD">92733671</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16160"
      unitRef="USD">3035729</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16161"
      unitRef="USD">2539483</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16162"
      unitRef="USD">2966774</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16163"
      unitRef="USD">372115</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16164"
      unitRef="USD">26403667</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16165"
      unitRef="USD">26768333</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:RealEstateInvestmentsJointVentures
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16166"
      unitRef="USD">773382</us-gaap:RealEstateInvestmentsJointVentures>
    <us-gaap:RealEstateInvestmentsJointVentures
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16167"
      unitRef="USD">672679</us-gaap:RealEstateInvestmentsJointVentures>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16168"
      unitRef="USD">95320660</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16169"
      unitRef="USD">123086281</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16170"
      unitRef="USD">1482109</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16171"
      unitRef="USD">952296</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16172"
      unitRef="USD">2172959</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16173"
      unitRef="USD">934447</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16174"
      unitRef="USD">838387</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16175"
      unitRef="USD">297209</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16176"
      unitRef="USD">891666</us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16177"
      unitRef="USD">1689471</us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16178"
      unitRef="USD">362449</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16179"
      unitRef="USD">5747570</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16180"
      unitRef="USD">3873423</us-gaap:LiabilitiesCurrent>
    <CODX:TaxesPayableNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16181"
      unitRef="USD">659186</CODX:TaxesPayableNoncurrent>
    <CODX:TaxesPayableNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16182"
      unitRef="USD">1181284</CODX:TaxesPayableNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16183"
      unitRef="USD">2417987</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16184"
      unitRef="USD">2152180</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16185"
      unitRef="USD">50708</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16186"
      unitRef="USD">748109</us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16187"
      unitRef="USD">1042885</us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16188"
      unitRef="USD">3559475</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16189"
      unitRef="USD">4692864</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16190"
      unitRef="USD">9307045</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16191"
      unitRef="USD">8566287</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16192"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16193"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16194"
      unitRef="Shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16195"
      unitRef="Shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16196"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16197"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16198"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16199"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16200"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16201"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16202"
      unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16203"
      unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16204"
      unitRef="Shares">36108346</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16205"
      unitRef="Shares">31259668</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16206"
      unitRef="Shares">34754265</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16207"
      unitRef="Shares">30872607</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16208"
      unitRef="USD">36108</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16209"
      unitRef="USD">34754</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16210"
      unitRef="Shares">4848678</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16211"
      unitRef="Shares">3881658</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16212"
      unitRef="USD">15575795</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16213"
      unitRef="USD">14211866</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16214"
      unitRef="USD">96808436</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16215"
      unitRef="USD">88472935</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16216"
      unitRef="USD">146700</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16217"
      unitRef="USD">293140</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16218"
      unitRef="USD">4598166</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16219"
      unitRef="USD">39931031</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16220"
      unitRef="USD">86013615</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16221"
      unitRef="USD">114519994</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16222"
      unitRef="USD">95320660</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16223"
      unitRef="USD">123086281</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ProductRevenueMember"
      decimals="0"
      id="ixv-16224"
      unitRef="USD">991473</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ProductRevenueMember"
      decimals="0"
      id="ixv-16225"
      unitRef="USD">34218209</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_GrantRevenueMember"
      decimals="0"
      id="ixv-16226"
      unitRef="USD">5820565</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16227"
      unitRef="USD">6812038</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16228"
      unitRef="USD">34218209</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16229"
      unitRef="USD">4184949</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16230"
      unitRef="USD">5481093</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16231"
      unitRef="USD">2627089</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16232"
      unitRef="USD">28737116</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16233"
      unitRef="USD">6860815</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16234"
      unitRef="USD">7344628</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16235"
      unitRef="USD">14279441</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16236"
      unitRef="USD">14262963</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16237"
      unitRef="USD">22962593</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16238"
      unitRef="USD">17438098</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16239"
      unitRef="USD">1230474</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16240"
      unitRef="USD">1282718</us-gaap:DepreciationAndAmortization>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16241"
      unitRef="USD">15388546</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:OperatingExpenses
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16242"
      unitRef="USD">45333323</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16243"
      unitRef="USD">55716953</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16244"
      unitRef="USD">-42706234</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16245"
      unitRef="USD">-26979837</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16246"
      unitRef="USD">1161913</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16247"
      unitRef="USD">704045</us-gaap:InterestIncomeOther>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16248"
      unitRef="USD">2243059</us-gaap:RealizedInvestmentGainsLosses>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16249"
      unitRef="USD">-2578</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16250"
      unitRef="USD">-138117</us-gaap:GainLossOnDispositionOfAssets1>
    <CODX:GainOnRemeasurementOfAcquisitionContingencies
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16251"
      unitRef="USD">1092581</CODX:GainOnRemeasurementOfAcquisitionContingencies>
    <CODX:GainOnRemeasurementOfAcquisitionContingencies
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16252"
      unitRef="USD">7899644</CODX:GainOnRemeasurementOfAcquisitionContingencies>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16253"
      unitRef="USD">100703</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16254"
      unitRef="USD">-332969</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16255"
      unitRef="USD">4595678</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16256"
      unitRef="USD">8132603</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16257"
      unitRef="USD">-38110556</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16258"
      unitRef="USD">-18847234</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16259"
      unitRef="USD">-2777691</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16260"
      unitRef="USD">-4608985</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16261"
      unitRef="USD">-35332865</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16262"
      unitRef="USD">-14238249</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16263"
      unitRef="USD">-146440</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16264"
      unitRef="USD">293140</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16265"
      unitRef="USD">-146440</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16266"
      unitRef="USD">293140</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16267"
      unitRef="USD">-35479305</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16268"
      unitRef="USD">-13945109</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16269"
      unitRef="USDPShares">-1.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16270"
      unitRef="USDPShares">-0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16271"
      unitRef="USDPShares">-1.20</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16272"
      unitRef="USDPShares">-0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16273"
      unitRef="Shares">29346599</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16274"
      unitRef="Shares">31479028</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16275"
      unitRef="Shares">29346599</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16276"
      unitRef="Shares">31479028</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16277"
      unitRef="Shares">33819862</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16278"
      unitRef="USD">33820</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16279"
      unitRef="USD">80271999</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16280"
      unitRef="USD">54169280</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="ixv-16281"
      unitRef="USD">134475099</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16282"
      unitRef="Shares">70791</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16283"
      unitRef="USD">70</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16284"
      unitRef="USD">77800</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16285"
      unitRef="USD">77870</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16286"
      unitRef="Shares">50000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16287"
      unitRef="USD">50</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16288"
      unitRef="USD">99950</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16289"
      unitRef="USD">100000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16290"
      unitRef="Shares">725166</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16291"
      unitRef="USD">725</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16292"
      unitRef="USD">7542498</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16293"
      unitRef="USD">7543223</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16294"
      unitRef="Shares">88446</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16295"
      unitRef="USD">89</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16296"
      unitRef="USD">480687</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16297"
      unitRef="USD">480776</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="ixv-16298"
      unitRef="USD">14211866</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16299"
      unitRef="USD">14211866</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="ixv-16300"
      unitRef="USD">293140</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16301"
      unitRef="USD">293140</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16302"
      unitRef="USD">-14238249</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16303"
      unitRef="USD">-14238249</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16304"
      unitRef="Shares">34754265</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16305"
      unitRef="USD">34754</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="ixv-16306"
      unitRef="USD">-14211866</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16307"
      unitRef="USD">88472935</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="ixv-16308"
      unitRef="USD">293140</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16309"
      unitRef="USD">39931031</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16310"
      unitRef="USD">114519994</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16311"
      unitRef="Shares">34754265</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16312"
      unitRef="USD">34754</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="ixv-16313"
      unitRef="USD">-14211866</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16314"
      unitRef="USD">88472935</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="ixv-16315"
      unitRef="USD">293140</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16316"
      unitRef="USD">39931031</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16317"
      unitRef="USD">114519994</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16318"
      unitRef="Shares">1354081</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16319"
      unitRef="USD">1354</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16320"
      unitRef="USD">8335501</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16321"
      unitRef="USD">8336855</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="ixv-16322"
      unitRef="USD">1363929</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16323"
      unitRef="USD">1363929</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="ixv-16324"
      unitRef="USD">-146440</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16325"
      unitRef="USD">-146440</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16326"
      unitRef="USD">-35332865</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16327"
      unitRef="USD">-35332865</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16328"
      unitRef="Shares">36108346</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16329"
      unitRef="USD">36108</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="ixv-16330"
      unitRef="USD">-15575795</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16331"
      unitRef="USD">96808436</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="ixv-16332"
      unitRef="USD">146700</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16333"
      unitRef="USD">4598166</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16334"
      unitRef="USD">86013615</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="ixv-16335"
      unitRef="Shares">36108346</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="ixv-16336"
      unitRef="USD">36108</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="ixv-16337"
      unitRef="USD">-15575795</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="ixv-16338"
      unitRef="USD">96808436</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="ixv-16339"
      unitRef="USD">146700</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-16340"
      unitRef="USD">4598166</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16341"
      unitRef="USD">86013615</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16342"
      unitRef="USD">-35332865</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16343"
      unitRef="USD">-14238249</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16344"
      unitRef="USD">1230474</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16345"
      unitRef="USD">1282718</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16346"
      unitRef="USD">15388546</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16347"
      unitRef="USD">8336855</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16348"
      unitRef="USD">7543223</us-gaap:ShareBasedCompensation>
    <CODX:GainOnRemeasurementOfAcquisitionContingencies
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16349"
      unitRef="USD">1092581</CODX:GainOnRemeasurementOfAcquisitionContingencies>
    <CODX:GainOnRemeasurementOfAcquisitionContingencies
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16350"
      unitRef="USD">7899644</CODX:GainOnRemeasurementOfAcquisitionContingencies>
    <CODX:NoncashLeaseExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16351"
      unitRef="USD">47992</CODX:NoncashLeaseExpense>
    <CODX:NoncashLeaseExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16352"
      unitRef="USD">30430</CODX:NoncashLeaseExpense>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16353"
      unitRef="USD">2243059</us-gaap:RealizedInvestmentGainsLosses>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16354"
      unitRef="USD">100703</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16355"
      unitRef="USD">-332969</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16356"
      unitRef="USD">-2578</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16357"
      unitRef="USD">-138117</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16358"
      unitRef="USD">-2417987</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16359"
      unitRef="USD">-4810457</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16360"
      unitRef="USD">612809</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16361"
      unitRef="USD">2461032</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryWriteDown
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16362"
      unitRef="USD">3233281</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16363"
      unitRef="USD">148099</us-gaap:InventoryWriteDown>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16364"
      unitRef="USD">-2536988</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16365"
      unitRef="USD">-14924427</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16366"
      unitRef="USD">-1082536</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16367"
      unitRef="USD">224094</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16368"
      unitRef="USD">-413140</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16369"
      unitRef="USD">3673309</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16370"
      unitRef="USD">362449</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16371"
      unitRef="USD">-150000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16372"
      unitRef="USD">-522098</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16373"
      unitRef="USD">-2201250</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16374"
      unitRef="USD">1768326</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16375"
      unitRef="USD">-2483821</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16376"
      unitRef="USD">-22081865</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16377"
      unitRef="USD">6568737</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16378"
      unitRef="USD">1365306</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16379"
      unitRef="USD">1427512</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16380"
      unitRef="USD">127251619</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16381"
      unitRef="USD">11255266</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16382"
      unitRef="USD">110497444</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16383"
      unitRef="USD">67995926</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16384"
      unitRef="USD">15388869</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16385"
      unitRef="USD">-58168172</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16386"
      unitRef="USD">177870</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16387"
      unitRef="USD">1363929</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16388"
      unitRef="USD">14211866</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16389"
      unitRef="USD">-1363929</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16390"
      unitRef="USD">-14033996</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16391"
      unitRef="USD">-8056925</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16392"
      unitRef="USD">-65633431</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16393"
      unitRef="USD">22973803</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="ixv-16394"
      unitRef="USD">88607234</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16395"
      unitRef="USD">14916878</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16396"
      unitRef="USD">22973803</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16397"
      unitRef="USD">55975</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16398"
      unitRef="USD">4498742</us-gaap:IncomeTaxesPaidNet>
    <CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16399"
      unitRef="USD">673</CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment>
    <CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16400"
      unitRef="USD">218906</CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16401"
      unitRef="USD">3203146</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16402"
      unitRef="USD">681327</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <CODX:BusinessAcquisitionMeasurementPeriodAdjustments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16403"
      unitRef="USD">1593</CODX:BusinessAcquisitionMeasurementPeriodAdjustments>
    <CODX:StockIssuedDuringPeriodValueAcquisitionsAdjustments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16404"
      unitRef="USD">480776</CODX:StockIssuedDuringPeriodValueAcquisitionsAdjustments>
    <CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16405"
      unitRef="USD">199359</CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6151">&lt;p id="xdx_80F_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zK17KQjiKMW3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
1 &#x2013; &lt;span id="xdx_822_zyY9s81ohGz4"&gt;Overview and Basis of Presentation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Description
of Business&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 27.35pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Co-Diagnostics,
Inc., a Utah corporation (the &#x201c;Company&#x201d; or &#x201c;CODX&#x201d;), is a molecular diagnostics company that develops, manufactures
and markets state-of-the-art diagnostics technologies. The Company&#x2019;s technologies are utilized for tests that are designed using
the detection and/or analysis of nucleic acid molecules (DNA or RNA). The Company also uses its proprietary technology to design specific
tests for its Co-Dx PCR platform and to locate genetic markers for use in applications other than infectious disease. In connection with
the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained lab systems.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Use
of Estimates&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates
and assumptions that affect the amounts reported in the financial statements and the accompanying notes. Such estimates include inventories,
receivables and other long-lived assets, legal and regulatory contingencies, income taxes, share based arrangements, and others. These
estimates and assumptions are based on management&#x2019;s best estimates and judgments. Actual amounts and results could differ from
those estimates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Basis
of Presentation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accompanying audited consolidated financial statements of Co-Diagnostics, Inc. and its wholly owned subsidiaries have been prepared to
reflect the financial position, results of operations and cash flows of the Company and have been prepared in accordance with accounting
principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;). All intercompany balances and transactions have been
eliminated.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6185">&lt;p id="xdx_80F_eus-gaap--SignificantAccountingPoliciesTextBlock_zS9IKylZNoL4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
2 &#x2013; &lt;span id="xdx_822_zPA1zgukJ5Tl"&gt;Summary of Significant Accounting Policies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_841_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zgfVcYfuqaVe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86B_zZMBHjoqHgu1"&gt;Reclassifications&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
prior year amounts have been reclassified to conform with the current year&#x2019;s presentation. These reclassifications have no impact
on the previously reported results.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zo0xPam83Tq3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_867_zf8QIN6BmfMj"&gt;Cash
and Cash Equivalents&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2023 and December
31, 2022. &lt;span style="background-color: white"&gt;The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84A_eus-gaap--MarketableSecuritiesPolicy_zlEPnn4jBAJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_z3qanzkPGLB3"&gt;Marketable
Investment Securities&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s marketable investment securities are comprised of investments in certificates of deposit and U.S. Treasury bills and
notes. The Company designates investments in debt securities as available-for-sale. Available-for-sale debt securities with original
maturities of three months or less from the date of purchase are classified within cash and cash equivalents. Available-for-sale debt
securities with original maturities longer than three months are available to fund current operations and are classified as marketable
investment securities, within current assets on the consolidated balance sheets. The Company may sell these securities at any time for
use in its current operations or for other purposes, even prior to maturity. Available-for-sale debt securities are reported at fair
value with the related unrealized gains and losses included in accumulated other comprehensive income (loss), a component of stockholders&#x2019;
equity, net of tax. Realized gains and losses on the sale of marketable securities are determined using the average cost method on a
first-in, first-out basis and recorded in total other income (expense), net in the consolidated statements of operations and
comprehensive loss.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
available-for-sale debt securities are subject to a periodic impairment review. For investments in an unrealized loss position, the Company
writes down the amortized cost basis of the investment if it is more likely than not that the Company will be required or will intend
to sell the investment before recovery of its amortized cost basis. For investments not likely to be sold before recovery of the amortized
cost basis, the Company determines whether a credit loss exists by considering information about the collectability of the instrument,
current market conditions, and reasonable and supportable forecasts of economic conditions. The Company recognizes an allowance for credit
losses up to the amount of the unrealized loss when appropriate. Allowances for credit losses and write-downs are recognized in total
other income (expense), net, and unrealized losses not related to credit losses are recognized in accumulated other comprehensive income
(loss). There are no allowances for credit losses recorded for the periods presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_841_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zjfI7s38hG05" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zKSsan0x0tQ3"&gt;Accounts
Receivable&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#x2019; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2023 total accounts receivable was $&lt;span id="xdx_907_eus-gaap--AccountsReceivableGrossCurrent_iI_c20231231_zd5G7Uv4KiLf" title="Accounts receivable"&gt;504,264&lt;/span&gt; with an allowance for uncollectable
accounts of $&lt;span id="xdx_90E_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20231231_z3WF38LF7oo3" title="Doubtful accounts"&gt;200,338&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_90F_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231_zsOBKSr949Yc" title="Accounts receivable, net"&gt;303,926&lt;/span&gt;. At December 31, 2022 total accounts receivable was $&lt;span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20221231_zg1wQ3qeMxme" title="Accounts receivable"&gt;6,552,249&lt;/span&gt; with an allowance
for uncollectable accounts of $&lt;span id="xdx_906_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20221231_zo4xqO3OXCoa" title="Doubtful accounts"&gt;3,098,526&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_909_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231_zoKjKV2z9B38" title="Accounts receivable, net"&gt;3,453,723&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_840_eus-gaap--EquityMethodInvestmentsPolicy_zjyDSkjQltQl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_865_zzFO0EyklNR4"&gt;Equity-Method
Investments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--InventoryPolicyTextBlock_zSp7OhUdQxgl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_zl4ZF9vYbOg"&gt;Inventory&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2023, the Company had $&lt;span id="xdx_90B_eus-gaap--InventoryNet_iI_c20231231_z6PCywmDUDG9" title="Inventory"&gt;1,664,725&lt;/span&gt; in inventory, of which $&lt;span id="xdx_90A_eus-gaap--InventoryFinishedGoods_iI_c20231231_z94I6ygZzwCk" title="Inventory finished goods"&gt;700,467&lt;/span&gt; was
finished goods and $&lt;span id="xdx_90E_eus-gaap--InventoryRawMaterials_iI_c20231231_zJMptRxe6gUe" title="Inventory raw materials"&gt;964,258&lt;/span&gt; was raw materials. At December 31, 2022, the Company had $&lt;span id="xdx_90F_eus-gaap--InventoryNet_iI_c20221231_zVeBGEa9llqk" title="Inventory"&gt;5,310,473&lt;/span&gt; in inventory, of which $&lt;span id="xdx_900_eus-gaap--InventoryFinishedGoods_iI_c20221231_zjyfGVfOoaka" title="Inventory, finished goods, gross"&gt;1,327,264&lt;/span&gt; was
finished goods and $&lt;span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20221231_zpzPiWmTUqAf" title="Inventory, raw materials, gross"&gt;3,983,209&lt;/span&gt; was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values. The Company recognized $&lt;span id="xdx_90C_eus-gaap--InventoryValuationReserves_iI_c20231231_z7HeyO90m1va" title="Inventory reserves"&gt;2,760,011&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--InventoryValuationReserves_iI_c20221231_zYUie1DzaI72" title="Inventory reserves"&gt;0&lt;/span&gt; related to the change in inventory reserves during
the years ended December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxLil2YaJv0a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_864_z0gbqRq4dQkl"&gt;Goodwill
and Intangible Assets&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. Goodwill and indefinite-lived intangible assets are not amortized, but rather tested for impairment
at least annually on December 31, or more often if and when circumstances indicate that the carrying value may not be recoverable. Finite-lived
intangible assets are amortized over their useful lives.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the years ended December 31, 2023 and 2022, the Company recognized impairment charges related to goodwill of $&lt;span id="xdx_908_eus-gaap--AssetImpairmentCharges_c20230101__20231231_zROHa50m8DUk" title="Impairment charges"&gt;0&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--AssetImpairmentCharges_c20220101__20221231_zFwqQ1qJnSYf" title="Impairment charges"&gt;15,388,546&lt;/span&gt;, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_841_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zjBk0XfSy838" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zKBocwNeXqlf"&gt;Long-lived
Assets&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-lived
assets, such as property and equipment, are stated at cost less accumulated depreciation and amortization. Depreciation is provided using
the straight-line method over the estimated useful lives of the property, generally from three to five years. Repairs and maintenance
costs are expensed as incurred except when such repairs significantly add to the useful life or productive capacity of the asset, in
which case the repairs are capitalized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
in-process research and development projects acquired in business combinations, the in-process research and development project is capitalized
and evaluated for impairment until the development process has been completed. Once the development process has been completed the asset
will be amortized over its remaining estimated useful life. The Company reviews its long-lived assets, including property and equipment,
indefinite-lived and finite-lived intangible assets, and ROU assets, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_840_eus-gaap--RevenueRecognitionPolicyTextBlock_zkXlqbLi9CK2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_zgp2Yuq1aaf8"&gt;Revenue
Recognition&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_ecustom--GrantRevenuePolicyTextBlock_zyzCUNusPirk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zaUQRDcJojj4"&gt;Grant
Revenue&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company may submit applications to receive grant funding from governmental and non-governmental entities. The Company accounts for grants
by analogizing to the contribution accounting model under ASC 958-605, Not-for-Profit Entities (&#x201c;ASC 958&#x201d;). Revenues from
grants, contracts, and awards provided by governmental and non-governmental agencies are recorded based upon the terms of the specific
agreements. The Company recognizes grant funding without conditions or continuing performance obligations as revenue in the consolidated statements of operations and comprehensive income (loss). The Company recognizes grant funding with conditions or continuing
performance obligations as deferred revenue in the consolidated balance sheets if the conditions or performance obligations
have not yet been met. The Company recognized grant funding revenue of $&lt;span id="xdx_90E_ecustom--GrantFundingRevenue_pn5n6_c20230101__20231231_zUTj38eP6Alh" title="Grant funding revenue"&gt;5.8&lt;/span&gt; million during the year ended December 31, 2023. At December
31, 2023, the Company has also recorded $&lt;span id="xdx_90B_eus-gaap--DeferredRevenue_iI_pn5n6_c20231231_z6ID4mjPr8Ta" title="Deferred revenue"&gt;0.3&lt;/span&gt; million of deferred revenue related to grant funding for which the cash was received, but
the underlying conditions or performance obligations have not yet been met. Cash received from federal grants, contracts, and awards
can be subject to audit by the grantor and, if the examination results in a disallowance of any expenditure, repayment could be required.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zGBmU9O1qKka" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86E_zHdll12KRuYa"&gt;Deferred
Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84A_eus-gaap--ResearchAndDevelopmentExpensePolicy_zGnsfG3qBV8l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_865_z721q2mfbAs1"&gt;Research
and Development&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Research
and development costs are expensed when incurred. The Company recorded $&lt;span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20230101__20231231_zkOeMY6IYCF6" title="Research and development"&gt;22,962,593&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--ResearchAndDevelopmentExpense_c20220101__20221231_zq70NmF6GRO1" title="Research and development"&gt;17,438,098&lt;/span&gt; of research and development costs
for the years ended December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zO1J66Qw1C81" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zXvi2lFfjxDc"&gt;Stock-based
Compensation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#x201c;RSUs&#x201d;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. &lt;span style="background-color: white"&gt;When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_840_eus-gaap--IncomeTaxPolicyTextBlock_zxGKGvd04jLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zEM3A1mvmcL"&gt;Income
Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. The Company has uncertain income tax positions in the consolidated
financial statements, and adverse determinations by these taxing authorities could have a material adverse effect on the consolidated
financial positions, result of operations, or cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_847_eus-gaap--EarningsPerSharePolicyTextBlock_z9fZAoQAf3e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_z9ZrFdVPLDz6"&gt;Net
Income (Loss) per Share&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_841_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z0l7LUASb4d9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_zOcL1rhqo8p7"&gt;Comprehensive
Income (Loss)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Comprehensive
loss is comprised of net loss and unrealized gains and losses on marketable securities, net of income taxes.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_847_eus-gaap--ConcentrationRiskCreditRisk_z3uady2vZ1H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_860_zpxT2VGITII6"&gt;Concentrations
Risk and Significant Customers&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company had certain customers which were each responsible for generating &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zeWhSgluJF3a" title="Concentration risk percentage"&gt;&lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zjPJNOTSiCGi" title="Concentration risk percentage"&gt;10&lt;/span&gt;&lt;/span&gt;% or more of the total revenue for the years ended December
31, 2023 and 2022, respectively. Two customers accounted for approximately &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zvaMjr3yRLV9" title="Concentration risk percentage"&gt;28&lt;/span&gt;% of product revenue for the year ended December 31, 2023
and one customer accounted for approximately &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--OneCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zxx0kXFeHxH7" title="Concentration risk percentage"&gt;37&lt;/span&gt;% of product revenue for the year ended December 31, 2022. One granting agency accounted
for &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--OneGrantingAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z0UiTEgdSQP8" title="Concentration risk percentage"&gt;100&lt;/span&gt;% of grant revenue for the year ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Three
customers accounted for more than &lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z5HhCKDJFR9h" title="Concentration risk percentage"&gt;&lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zB4AiwtztUO5" title="Concentration risk percentage"&gt;10&lt;/span&gt;&lt;/span&gt;% of accounts receivable at December 31, 2023 and 2022, respectively. These customers together accounted
for approximately &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcVLqDdo9Oll" title="Concentration risk percentage"&gt;97&lt;/span&gt;% and &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zkFZiWlLg7dj" title="Concentration risk percentage"&gt;61&lt;/span&gt;% of accounts receivable at December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84D_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zrw0s1UYia53" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_869_z8xIJvrsmkqc"&gt;Recently
Issued Accounting Standards&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#x2019;s financial statements upon adoption.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires an entity
to disclose annually additional information related to the company&#x2019;s income tax rate reconciliation and income taxes paid during
the period. The guidance should be applied prospectively with the option to apply the standard retrospectively. The standard becomes
effective for the Company for full year 2025 reporting. The Company is currently evaluating the impact of this new standard on its consolidated
financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_85D_z6rHdGAdpqK8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription contextRef="From2023-01-01to2023-12-31" id="ixv-6193">&lt;p id="xdx_841_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zgfVcYfuqaVe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86B_zZMBHjoqHgu1"&gt;Reclassifications&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
prior year amounts have been reclassified to conform with the current year&#x2019;s presentation. These reclassifications have no impact
on the previously reported results.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6204">&lt;p id="xdx_843_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zo0xPam83Tq3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_867_zf8QIN6BmfMj"&gt;Cash
and Cash Equivalents&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2023 and December
31, 2022. &lt;span style="background-color: white"&gt;The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:MarketableSecuritiesPolicy contextRef="From2023-01-01to2023-12-31" id="ixv-6227">&lt;p id="xdx_84A_eus-gaap--MarketableSecuritiesPolicy_zlEPnn4jBAJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_z3qanzkPGLB3"&gt;Marketable
Investment Securities&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s marketable investment securities are comprised of investments in certificates of deposit and U.S. Treasury bills and
notes. The Company designates investments in debt securities as available-for-sale. Available-for-sale debt securities with original
maturities of three months or less from the date of purchase are classified within cash and cash equivalents. Available-for-sale debt
securities with original maturities longer than three months are available to fund current operations and are classified as marketable
investment securities, within current assets on the consolidated balance sheets. The Company may sell these securities at any time for
use in its current operations or for other purposes, even prior to maturity. Available-for-sale debt securities are reported at fair
value with the related unrealized gains and losses included in accumulated other comprehensive income (loss), a component of stockholders&#x2019;
equity, net of tax. Realized gains and losses on the sale of marketable securities are determined using the average cost method on a
first-in, first-out basis and recorded in total other income (expense), net in the consolidated statements of operations and
comprehensive loss.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
available-for-sale debt securities are subject to a periodic impairment review. For investments in an unrealized loss position, the Company
writes down the amortized cost basis of the investment if it is more likely than not that the Company will be required or will intend
to sell the investment before recovery of its amortized cost basis. For investments not likely to be sold before recovery of the amortized
cost basis, the Company determines whether a credit loss exists by considering information about the collectability of the instrument,
current market conditions, and reasonable and supportable forecasts of economic conditions. The Company recognizes an allowance for credit
losses up to the amount of the unrealized loss when appropriate. Allowances for credit losses and write-downs are recognized in total
other income (expense), net, and unrealized losses not related to credit losses are recognized in accumulated other comprehensive income
(loss). There are no allowances for credit losses recorded for the periods presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="From2023-01-01to2023-12-31" id="ixv-6242">&lt;p id="xdx_841_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zjfI7s38hG05" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zKSsan0x0tQ3"&gt;Accounts
Receivable&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#x2019; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2023 total accounts receivable was $&lt;span id="xdx_907_eus-gaap--AccountsReceivableGrossCurrent_iI_c20231231_zd5G7Uv4KiLf" title="Accounts receivable"&gt;504,264&lt;/span&gt; with an allowance for uncollectable
accounts of $&lt;span id="xdx_90E_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20231231_z3WF38LF7oo3" title="Doubtful accounts"&gt;200,338&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_90F_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231_zsOBKSr949Yc" title="Accounts receivable, net"&gt;303,926&lt;/span&gt;. At December 31, 2022 total accounts receivable was $&lt;span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20221231_zg1wQ3qeMxme" title="Accounts receivable"&gt;6,552,249&lt;/span&gt; with an allowance
for uncollectable accounts of $&lt;span id="xdx_906_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20221231_zo4xqO3OXCoa" title="Doubtful accounts"&gt;3,098,526&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_909_eus-gaap--AccountsReceivableNetCurrent_iI_c20221231_zoKjKV2z9B38" title="Accounts receivable, net"&gt;3,453,723&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16406"
      unitRef="USD">504264</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16407"
      unitRef="USD">200338</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16408"
      unitRef="USD">303926</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16409"
      unitRef="USD">6552249</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16410"
      unitRef="USD">3098526</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16411"
      unitRef="USD">3453723</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2023-01-01to2023-12-31" id="ixv-6259">&lt;p id="xdx_840_eus-gaap--EquityMethodInvestmentsPolicy_zjyDSkjQltQl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_865_zzFO0EyklNR4"&gt;Equity-Method
Investments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6270">&lt;p id="xdx_843_eus-gaap--InventoryPolicyTextBlock_zSp7OhUdQxgl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_zl4ZF9vYbOg"&gt;Inventory&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2023, the Company had $&lt;span id="xdx_90B_eus-gaap--InventoryNet_iI_c20231231_z6PCywmDUDG9" title="Inventory"&gt;1,664,725&lt;/span&gt; in inventory, of which $&lt;span id="xdx_90A_eus-gaap--InventoryFinishedGoods_iI_c20231231_z94I6ygZzwCk" title="Inventory finished goods"&gt;700,467&lt;/span&gt; was
finished goods and $&lt;span id="xdx_90E_eus-gaap--InventoryRawMaterials_iI_c20231231_zJMptRxe6gUe" title="Inventory raw materials"&gt;964,258&lt;/span&gt; was raw materials. At December 31, 2022, the Company had $&lt;span id="xdx_90F_eus-gaap--InventoryNet_iI_c20221231_zVeBGEa9llqk" title="Inventory"&gt;5,310,473&lt;/span&gt; in inventory, of which $&lt;span id="xdx_900_eus-gaap--InventoryFinishedGoods_iI_c20221231_zjyfGVfOoaka" title="Inventory, finished goods, gross"&gt;1,327,264&lt;/span&gt; was
finished goods and $&lt;span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20221231_zpzPiWmTUqAf" title="Inventory, raw materials, gross"&gt;3,983,209&lt;/span&gt; was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values. The Company recognized $&lt;span id="xdx_90C_eus-gaap--InventoryValuationReserves_iI_c20231231_z7HeyO90m1va" title="Inventory reserves"&gt;2,760,011&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--InventoryValuationReserves_iI_c20221231_zYUie1DzaI72" title="Inventory reserves"&gt;0&lt;/span&gt; related to the change in inventory reserves during
the years ended December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16412"
      unitRef="USD">1664725</us-gaap:InventoryNet>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16413"
      unitRef="USD">700467</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16414"
      unitRef="USD">964258</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16415"
      unitRef="USD">5310473</us-gaap:InventoryNet>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16416"
      unitRef="USD">1327264</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16417"
      unitRef="USD">3983209</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16418"
      unitRef="USD">2760011</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16419"
      unitRef="USD">0</us-gaap:InventoryValuationReserves>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6300">&lt;p id="xdx_84B_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zxLil2YaJv0a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_864_z0gbqRq4dQkl"&gt;Goodwill
and Intangible Assets&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. Goodwill and indefinite-lived intangible assets are not amortized, but rather tested for impairment
at least annually on December 31, or more often if and when circumstances indicate that the carrying value may not be recoverable. Finite-lived
intangible assets are amortized over their useful lives.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the years ended December 31, 2023 and 2022, the Company recognized impairment charges related to goodwill of $&lt;span id="xdx_908_eus-gaap--AssetImpairmentCharges_c20230101__20231231_zROHa50m8DUk" title="Impairment charges"&gt;0&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--AssetImpairmentCharges_c20220101__20221231_zFwqQ1qJnSYf" title="Impairment charges"&gt;15,388,546&lt;/span&gt;, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:AssetImpairmentCharges
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16420"
      unitRef="USD">0</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16421"
      unitRef="USD">15388546</us-gaap:AssetImpairmentCharges>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6318">&lt;p id="xdx_841_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zjBk0XfSy838" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zKBocwNeXqlf"&gt;Long-lived
Assets&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-lived
assets, such as property and equipment, are stated at cost less accumulated depreciation and amortization. Depreciation is provided using
the straight-line method over the estimated useful lives of the property, generally from three to five years. Repairs and maintenance
costs are expensed as incurred except when such repairs significantly add to the useful life or productive capacity of the asset, in
which case the repairs are capitalized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
in-process research and development projects acquired in business combinations, the in-process research and development project is capitalized
and evaluated for impairment until the development process has been completed. Once the development process has been completed the asset
will be amortized over its remaining estimated useful life. The Company reviews its long-lived assets, including property and equipment,
indefinite-lived and finite-lived intangible assets, and ROU assets, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6333">&lt;p id="xdx_840_eus-gaap--RevenueRecognitionPolicyTextBlock_zkXlqbLi9CK2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_zgp2Yuq1aaf8"&gt;Revenue
Recognition&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueRecognitionPolicyTextBlock>
    <CODX:GrantRevenuePolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6348">&lt;p id="xdx_84E_ecustom--GrantRevenuePolicyTextBlock_zyzCUNusPirk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zaUQRDcJojj4"&gt;Grant
Revenue&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company may submit applications to receive grant funding from governmental and non-governmental entities. The Company accounts for grants
by analogizing to the contribution accounting model under ASC 958-605, Not-for-Profit Entities (&#x201c;ASC 958&#x201d;). Revenues from
grants, contracts, and awards provided by governmental and non-governmental agencies are recorded based upon the terms of the specific
agreements. The Company recognizes grant funding without conditions or continuing performance obligations as revenue in the consolidated statements of operations and comprehensive income (loss). The Company recognizes grant funding with conditions or continuing
performance obligations as deferred revenue in the consolidated balance sheets if the conditions or performance obligations
have not yet been met. The Company recognized grant funding revenue of $&lt;span id="xdx_90E_ecustom--GrantFundingRevenue_pn5n6_c20230101__20231231_zUTj38eP6Alh" title="Grant funding revenue"&gt;5.8&lt;/span&gt; million during the year ended December 31, 2023. At December
31, 2023, the Company has also recorded $&lt;span id="xdx_90B_eus-gaap--DeferredRevenue_iI_pn5n6_c20231231_z6ID4mjPr8Ta" title="Deferred revenue"&gt;0.3&lt;/span&gt; million of deferred revenue related to grant funding for which the cash was received, but
the underlying conditions or performance obligations have not yet been met. Cash received from federal grants, contracts, and awards
can be subject to audit by the grantor and, if the examination results in a disallowance of any expenditure, repayment could be required.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</CODX:GrantRevenuePolicyTextBlock>
    <CODX:GrantFundingRevenue
      contextRef="From2023-01-01to2023-12-31"
      decimals="-5"
      id="ixv-16422"
      unitRef="USD">5800000</CODX:GrantFundingRevenue>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2023-12-31"
      decimals="-5"
      id="ixv-16423"
      unitRef="USD">300000</us-gaap:DeferredRevenue>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6361">&lt;p id="xdx_842_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zGBmU9O1qKka" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86E_zHdll12KRuYa"&gt;Deferred
Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="From2023-01-01to2023-12-31" id="ixv-6383">&lt;p id="xdx_84A_eus-gaap--ResearchAndDevelopmentExpensePolicy_zGnsfG3qBV8l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_865_z721q2mfbAs1"&gt;Research
and Development&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Research
and development costs are expensed when incurred. The Company recorded $&lt;span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20230101__20231231_zkOeMY6IYCF6" title="Research and development"&gt;22,962,593&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--ResearchAndDevelopmentExpense_c20220101__20221231_zq70NmF6GRO1" title="Research and development"&gt;17,438,098&lt;/span&gt; of research and development costs
for the years ended December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16424"
      unitRef="USD">22962593</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16425"
      unitRef="USD">17438098</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="From2023-01-01to2023-12-31" id="ixv-6396">&lt;p id="xdx_846_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zO1J66Qw1C81" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zXvi2lFfjxDc"&gt;Stock-based
Compensation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#x201c;RSUs&#x201d;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. &lt;span style="background-color: white"&gt;When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6408">&lt;p id="xdx_840_eus-gaap--IncomeTaxPolicyTextBlock_zxGKGvd04jLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zEM3A1mvmcL"&gt;Income
Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. The Company has uncertain income tax positions in the consolidated
financial statements, and adverse determinations by these taxing authorities could have a material adverse effect on the consolidated
financial positions, result of operations, or cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6428">&lt;p id="xdx_847_eus-gaap--EarningsPerSharePolicyTextBlock_z9fZAoQAf3e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_z9ZrFdVPLDz6"&gt;Net
Income (Loss) per Share&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6443">&lt;p id="xdx_841_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z0l7LUASb4d9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_zOcL1rhqo8p7"&gt;Comprehensive
Income (Loss)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Comprehensive
loss is comprised of net loss and unrealized gains and losses on marketable securities, net of income taxes.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2023-01-01to2023-12-31" id="ixv-6454">&lt;p id="xdx_847_eus-gaap--ConcentrationRiskCreditRisk_z3uady2vZ1H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_860_zpxT2VGITII6"&gt;Concentrations
Risk and Significant Customers&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company had certain customers which were each responsible for generating &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zeWhSgluJF3a" title="Concentration risk percentage"&gt;&lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zjPJNOTSiCGi" title="Concentration risk percentage"&gt;10&lt;/span&gt;&lt;/span&gt;% or more of the total revenue for the years ended December
31, 2023 and 2022, respectively. Two customers accounted for approximately &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zvaMjr3yRLV9" title="Concentration risk percentage"&gt;28&lt;/span&gt;% of product revenue for the year ended December 31, 2023
and one customer accounted for approximately &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--OneCustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zxx0kXFeHxH7" title="Concentration risk percentage"&gt;37&lt;/span&gt;% of product revenue for the year ended December 31, 2022. One granting agency accounted
for &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--OneGrantingAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z0UiTEgdSQP8" title="Concentration risk percentage"&gt;100&lt;/span&gt;% of grant revenue for the year ended December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Three
customers accounted for more than &lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z5HhCKDJFR9h" title="Concentration risk percentage"&gt;&lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--TwoCustomersMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zB4AiwtztUO5" title="Concentration risk percentage"&gt;10&lt;/span&gt;&lt;/span&gt;% of accounts receivable at December 31, 2023 and 2022, respectively. These customers together accounted
for approximately &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcVLqDdo9Oll" title="Concentration risk percentage"&gt;97&lt;/span&gt;% and &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zkFZiWlLg7dj" title="Concentration risk percentage"&gt;61&lt;/span&gt;% of accounts receivable at December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="ixv-16426"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_CustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="ixv-16427"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="ixv-16428"
      unitRef="Pure">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_OneCustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="ixv-16429"
      unitRef="Pure">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_OneGrantingAgencyMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="ixv-16430"
      unitRef="Pure">1</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="ixv-16431"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_TwoCustomersMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="ixv-16432"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="ixv-16433"
      unitRef="Pure">0.97</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_CustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="ixv-16434"
      unitRef="Pure">0.61</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6489">&lt;p id="xdx_84D_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zrw0s1UYia53" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_869_z8xIJvrsmkqc"&gt;Recently
Issued Accounting Standards&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#x2019;s financial statements upon adoption.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires an entity
to disclose annually additional information related to the company&#x2019;s income tax rate reconciliation and income taxes paid during
the period. The guidance should be applied prospectively with the option to apply the standard retrospectively. The standard becomes
effective for the Company for full year 2025 reporting. The Company is currently evaluating the impact of this new standard on its consolidated
financial statements.&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6506">&lt;p id="xdx_807_eus-gaap--CashCashEquivalentsAndMarketableSecuritiesTextBlock_ztCGiDmSwobd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
3 &#x2013; &lt;span id="xdx_82A_zTS8GF19eHgb"&gt;Cash, Cash Equivalents, and Financial Instruments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_zf2SWnhlb8Q2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
following table shows the Company&#x2019;s cash, cash equivalents, and marketable investment securities by significant investment category:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BF_zAp7Fx6s2PQb" style="display: none"&gt;Schedule
of Cash, Cash Equivalents and Marketable Investment Securities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="22" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Adjusted Cost&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Allowance for Credit Losses&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Total Unrealized Gains / (Losses)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Fair Value&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Cash and Cash Equivalents&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Marketable Investment Securities&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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: 40%"&gt;Cash&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zyKhFnLoh8sk" style="width: 6%; text-align: right" title="Adjusted Cost"&gt;4,317,449&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zhOPuTS7j8Q9" style="width: 6%; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0695"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z1bAV9MsJVW5" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0697"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zFUlnlSVvyHa" style="width: 6%; text-align: right" title="Fair Value"&gt;4,317,449&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z6sPNc9ghZF7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents"&gt;4,317,449&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z4caqpTOlsdl" style="width: 6%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0703"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Level 1:&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;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="text-align: left; padding-bottom: 1.5pt"&gt;Money market funds&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQigIxvtBPr2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;10,599,429&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zFvTgr3fpQpi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0707"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zeRx2961HDUe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0709"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2Awplb5xur4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;10,599,429&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPG2uz7qKU2i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;10,599,429&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2CEHX9WVTBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0715"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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-left: 10pt"&gt;Subtotal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z8MsH7FJB4F1" style="text-align: right" title="Adjusted Cost"&gt;10,599,429&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDCybvPZbKZg" style="text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0719"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zI6kRW8gay8" style="text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0721"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zSZeEsZDHRt9" style="text-align: right" title="Fair Value"&gt;10,599,429&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_ziVoYlYntZZ5" style="text-align: right" title="Cash and Cash Equivalents"&gt;10,599,429&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znhvsDsPJRIa" style="text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0727"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Level 2:&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;U.S. treasury securities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z6wSL9Oi8tDk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;43,484,810&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zY2HPb3OtQVl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0731"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQzPfEJSVL45" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;146,700&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zqMcVj29qUr9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztqBYLr2UM12" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0737"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zmLxRTTCyjN9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Subtotal&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z3wvWUnhWs49" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;43,484,810&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z59Pnf6zvaWi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0743"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z5rLfnUkZxSb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;146,700&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFISYI24g4Ie" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zEixkv8r9Ycd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0749"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zD9LwMZohJv4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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-left: 10pt; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231_zLrJINOTLoOd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost"&gt;58,401,688&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231_zGzTF26z7AU6" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0755"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231_zS3j87JMb4m7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;146,700&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231_zI5OvNMEMvDk" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value"&gt;58,548,388&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231_zXitdTzEWve2" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents"&gt;14,916,878&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20231231_zSXid3gTMGNg" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;43,631,510&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: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="22" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Adjusted Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Allowance for Credit Losses&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total Unrealized Gains / (Losses)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Cash and Cash Equivalents&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Marketable Securities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 40%"&gt;Cash&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zI4dCS93maMj" style="width: 6%; text-align: right" title="Adjusted Cost"&gt;12,834,444&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zCJAy9G0zf2l" style="width: 6%; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0767"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z2C2ObFuuvl9" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0769"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zNpYN8nn1m5c" style="width: 6%; text-align: right" title="Fair Value"&gt;12,834,444&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zii0bK5QlNt7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents"&gt;12,834,444&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zvkySZu6vrhf" style="width: 6%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0775"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Level 1:&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;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="text-align: left; padding-bottom: 1.5pt"&gt;Money market funds&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQvVNtk3OBf6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;146,359&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zpvVRyC5wPWd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0779"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDjhCvDQ6SNb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0781"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zh3BtbfHrL53" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;146,359&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znkYPYX3eqFg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;146,359&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zOtfBq5D7oAk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0787"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Subtotal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zj4OchRmM3qf" style="text-align: right" title="Adjusted Cost"&gt;146,359&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6rCOpR22yte" style="text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0791"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAvnoSf05ezl" style="text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0793"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zEs6ehGfSed1" style="text-align: right" title="Fair Value"&gt;146,359&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zZlw9kRnGhnd" style="text-align: right" title="Cash and Cash Equivalents"&gt;146,359&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPAygaqEHEe" style="text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0799"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Level 2:&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;U.S. treasury securities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zyCTeVMBWVAf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;67,892,825&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zl4PJdTkDAqi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0803"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zKVc2ulO4CX7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;389,241&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zPl9Org36pVa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;68,282,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z4SFbt6W5bsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;9,993,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zHID2PIcIz59" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Subtotal&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zb75OImgHOTc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;67,892,825&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zS5wG8FmjNag" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0815"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztKMSOqkPDSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;389,241&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zu5MUYAFkV3c" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;68,282,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFGipkhUkqV4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;9,993,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zkFsVRNF5g6h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231_z5PC2dk9nySd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost"&gt;80,873,628&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231_z17FziJpKEw9" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0827"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231_zGmNJIFDJBA" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;389,241&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--TradingSecurities_iI_c20221231_zdbiCRwmnFul" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value"&gt;81,262,869&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231_zOKL2CFWJko" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents"&gt;22,973,803&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20221231_zwIKAQCrnwJ8" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_z1g8H2MFsl5k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Marketable
investment securities held as of December 31, 2023 mature over the next 12 months.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock>
    <us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-6513">&lt;p id="xdx_894_eus-gaap--ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_zf2SWnhlb8Q2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
following table shows the Company&#x2019;s cash, cash equivalents, and marketable investment securities by significant investment category:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BF_zAp7Fx6s2PQb" style="display: none"&gt;Schedule
of Cash, Cash Equivalents and Marketable Investment Securities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="22" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Adjusted Cost&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Allowance for Credit Losses&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Total Unrealized Gains / (Losses)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Fair Value&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Cash and Cash Equivalents&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Marketable Investment Securities&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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: 40%"&gt;Cash&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zyKhFnLoh8sk" style="width: 6%; text-align: right" title="Adjusted Cost"&gt;4,317,449&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zhOPuTS7j8Q9" style="width: 6%; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0695"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z1bAV9MsJVW5" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0697"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zFUlnlSVvyHa" style="width: 6%; text-align: right" title="Fair Value"&gt;4,317,449&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z6sPNc9ghZF7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents"&gt;4,317,449&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z4caqpTOlsdl" style="width: 6%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0703"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Level 1:&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;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="text-align: left; padding-bottom: 1.5pt"&gt;Money market funds&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQigIxvtBPr2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;10,599,429&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zFvTgr3fpQpi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0707"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zeRx2961HDUe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0709"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2Awplb5xur4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;10,599,429&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPG2uz7qKU2i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;10,599,429&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z2CEHX9WVTBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0715"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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-left: 10pt"&gt;Subtotal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z8MsH7FJB4F1" style="text-align: right" title="Adjusted Cost"&gt;10,599,429&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDCybvPZbKZg" style="text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0719"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zI6kRW8gay8" style="text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0721"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zSZeEsZDHRt9" style="text-align: right" title="Fair Value"&gt;10,599,429&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_ziVoYlYntZZ5" style="text-align: right" title="Cash and Cash Equivalents"&gt;10,599,429&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znhvsDsPJRIa" style="text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0727"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Level 2:&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;U.S. treasury securities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z6wSL9Oi8tDk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;43,484,810&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zY2HPb3OtQVl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0731"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQzPfEJSVL45" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;146,700&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zqMcVj29qUr9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztqBYLr2UM12" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0737"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zmLxRTTCyjN9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Subtotal&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z3wvWUnhWs49" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;43,484,810&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z59Pnf6zvaWi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0743"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z5rLfnUkZxSb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;146,700&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--TradingSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFISYI24g4Ie" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zEixkv8r9Ycd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0749"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20231231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zD9LwMZohJv4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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-left: 10pt; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20231231_zLrJINOTLoOd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost"&gt;58,401,688&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20231231_zGzTF26z7AU6" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0755"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20230101__20231231_zS3j87JMb4m7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;146,700&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecurities_iI_c20231231_zI5OvNMEMvDk" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value"&gt;58,548,388&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20231231_zXitdTzEWve2" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents"&gt;14,916,878&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20231231_zSXid3gTMGNg" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;43,631,510&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: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="22" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Adjusted Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Allowance for Credit Losses&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total Unrealized Gains / (Losses)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Cash and Cash Equivalents&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Marketable Securities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 40%"&gt;Cash&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zI4dCS93maMj" style="width: 6%; text-align: right" title="Adjusted Cost"&gt;12,834,444&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zCJAy9G0zf2l" style="width: 6%; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0767"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_z2C2ObFuuvl9" style="width: 6%; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0769"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zNpYN8nn1m5c" style="width: 6%; text-align: right" title="Fair Value"&gt;12,834,444&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zii0bK5QlNt7" style="width: 6%; text-align: right" title="Cash and Cash Equivalents"&gt;12,834,444&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--CashMember_zvkySZu6vrhf" style="width: 6%; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0775"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Level 1:&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;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="text-align: left; padding-bottom: 1.5pt"&gt;Money market funds&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zQvVNtk3OBf6" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;146,359&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zpvVRyC5wPWd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0779"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zDjhCvDQ6SNb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0781"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zh3BtbfHrL53" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;146,359&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_znkYPYX3eqFg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;146,359&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--MoneyMarketFundsMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zOtfBq5D7oAk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0787"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Subtotal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zj4OchRmM3qf" style="text-align: right" title="Adjusted Cost"&gt;146,359&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6rCOpR22yte" style="text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0791"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAvnoSf05ezl" style="text-align: right" title="Total Unrealized Gains / (Losses)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0793"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zEs6ehGfSed1" style="text-align: right" title="Fair Value"&gt;146,359&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zZlw9kRnGhnd" style="text-align: right" title="Cash and Cash Equivalents"&gt;146,359&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPAygaqEHEe" style="text-align: right" title="Marketable Securities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0799"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Level 2:&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;U.S. treasury securities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zyCTeVMBWVAf" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;67,892,825&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zl4PJdTkDAqi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0803"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zKVc2ulO4CX7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;389,241&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zPl9Org36pVa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;68,282,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z4SFbt6W5bsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;9,993,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--CashAndCashEquivalentsAxis__us-gaap--USTreasurySecuritiesMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zHID2PIcIz59" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Subtotal&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zb75OImgHOTc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Adjusted Cost"&gt;67,892,825&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zS5wG8FmjNag" style="border-bottom: Black 1.5pt solid; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0815"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_ztKMSOqkPDSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;389,241&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--TradingSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zu5MUYAFkV3c" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair Value"&gt;68,282,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zFGipkhUkqV4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cash and Cash Equivalents"&gt;9,993,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MarketableSecurities_iI_c20221231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zkFsVRNF5g6h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Marketable Securities"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--TradingSecuritiesDebtAmortizedCost_iI_c20221231_z5PC2dk9nySd" style="border-bottom: Black 2.5pt double; text-align: right" title="Adjusted Cost"&gt;80,873,628&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FinancingReceivableAllowanceForCreditLosses_iI_c20221231_z17FziJpKEw9" style="border-bottom: Black 2.5pt double; text-align: right" title="Allowance for Credit Losses"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0827"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MarketableSecuritiesUnrealizedGainLoss_c20220101__20221231_zGmNJIFDJBA" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Unrealized Gains / (Losses)"&gt;389,241&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--TradingSecurities_iI_c20221231_zdbiCRwmnFul" style="border-bottom: Black 2.5pt double; text-align: right" title="Fair Value"&gt;81,262,869&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--CashAndCashEquivalentsAtCarryingValue_iI_c20221231_zOKL2CFWJko" style="border-bottom: Black 2.5pt double; text-align: right" title="Cash and Cash Equivalents"&gt;22,973,803&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20221231_zwIKAQCrnwJ8" style="border-bottom: Black 2.5pt double; text-align: right" title="Marketable Securities"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2023-12-31_us-gaap_CashMember"
      decimals="0"
      id="ixv-16435"
      unitRef="USD">4317449</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecurities
      contextRef="AsOf2023-12-31_us-gaap_CashMember"
      decimals="0"
      id="ixv-16436"
      unitRef="USD">4317449</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31_us-gaap_CashMember"
      decimals="0"
      id="ixv-16437"
      unitRef="USD">4317449</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16438"
      unitRef="USD">10599429</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecurities
      contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16439"
      unitRef="USD">10599429</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16440"
      unitRef="USD">10599429</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16441"
      unitRef="USD">10599429</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16442"
      unitRef="USD">10599429</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16443"
      unitRef="USD">10599429</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16444"
      unitRef="USD">43484810</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-01-012023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16445"
      unitRef="USD">146700</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:TradingSecurities
      contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16446"
      unitRef="USD">43631510</us-gaap:TradingSecurities>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16447"
      unitRef="USD">43631510</us-gaap:MarketableSecurities>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16448"
      unitRef="USD">43484810</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-01-012023-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16449"
      unitRef="USD">146700</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:TradingSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16450"
      unitRef="USD">43631510</us-gaap:TradingSecurities>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16451"
      unitRef="USD">43631510</us-gaap:MarketableSecurities>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16452"
      unitRef="USD">58401688</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16453"
      unitRef="USD">146700</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:TradingSecurities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16454"
      unitRef="USD">58548388</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16455"
      unitRef="USD">14916878</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16456"
      unitRef="USD">43631510</us-gaap:MarketableSecurities>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2022-12-31_us-gaap_CashMember"
      decimals="0"
      id="ixv-16457"
      unitRef="USD">12834444</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecurities
      contextRef="AsOf2022-12-31_us-gaap_CashMember"
      decimals="0"
      id="ixv-16458"
      unitRef="USD">12834444</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31_us-gaap_CashMember"
      decimals="0"
      id="ixv-16459"
      unitRef="USD">12834444</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16460"
      unitRef="USD">146359</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecurities
      contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16461"
      unitRef="USD">146359</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31_us-gaap_MoneyMarketFundsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16462"
      unitRef="USD">146359</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16463"
      unitRef="USD">146359</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:TradingSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16464"
      unitRef="USD">146359</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16465"
      unitRef="USD">146359</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16466"
      unitRef="USD">67892825</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-01-012022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16467"
      unitRef="USD">389241</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:TradingSecurities
      contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16468"
      unitRef="USD">68282066</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16469"
      unitRef="USD">9993000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_USTreasurySecuritiesMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16470"
      unitRef="USD">58289066</us-gaap:MarketableSecurities>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16471"
      unitRef="USD">67892825</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-01-012022-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16472"
      unitRef="USD">389241</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:TradingSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16473"
      unitRef="USD">68282066</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16474"
      unitRef="USD">9993000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16475"
      unitRef="USD">58289066</us-gaap:MarketableSecurities>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16476"
      unitRef="USD">80873628</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16477"
      unitRef="USD">389241</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:TradingSecurities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16478"
      unitRef="USD">81262869</us-gaap:TradingSecurities>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16479"
      unitRef="USD">22973803</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16480"
      unitRef="USD">58289066</us-gaap:MarketableSecurities>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7025">&lt;p id="xdx_805_eus-gaap--FairValueDisclosuresTextBlock_zYu0wDeZgruf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
4 &#x2013; &lt;span id="xdx_82A_ztvwdchIOVP8"&gt;Fair Value Measurements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company measures and records certain financial assets and liabilities at fair value on a recurring basis. Fair value is based on the
price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants
at the measurement date.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following three levels of inputs are used to measure the fair value of financial assets and liabilities:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
1: Quoted market prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
2: Observable market-based inputs or unobservable inputs that are corroborated by market data.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
3: Unobservable inputs that are not corroborated by market data.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zL5U1YlBX0ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and December
31, 2022, by level within the fair value hierarchy:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_z6moWAgDH4Ub" style="display: none"&gt;Schedule
of Fair Value Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAD4Mk0LEej4" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zXbLCtEqcWKi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zOM5iQdFZQF2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zn4HUiXQCbcg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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&gt;Assets:&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 id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zlvxtjm5Fa66" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left"&gt;Cash equivalents&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;13,806,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0842"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0843"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;13,806,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zamJqINEfQoh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (U.S. treasury bills and notes)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0846"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0848"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zMRUzmbtZUtc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&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;13,806,864&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0853"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;57,438,374&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Liabilities:&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zir3FqVmEYq6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration - common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0856"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0857"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,318,995&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,318,995&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zrbcMERjNEKi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Contingent consideration - warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0861"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0862"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;320,780&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;320,780&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zGnyNofwXHDi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total liabilities measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0866"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0867"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,639,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,639,775&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zbEAdaHhU5W1" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zcdPKOmcY4H7" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zWGVdzflhLGh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zsWk8KpZjKwl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&#x202f;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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&gt;Assets:&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 id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zmi0iEtTmYt" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left"&gt;Cash equivalents&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;186,667&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;9,993,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0873"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;10,179,667&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zw3vz65zPQLb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (U.S. treasury bills and notes)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0876"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0878"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zAWuhb3z8p0i" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&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;186,667&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;68,282,066&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0883"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;68,468,733&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Liabilities:&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 id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zg3l98euYy1k" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration - common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0886"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0887"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,499,147&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,499,147&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zQvlKUpIZKt3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Contingent consideration - warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0891"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0892"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;233,209&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;233,209&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zwLBc57WrGh9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total liabilities measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0896"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0897"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,732,356&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,732,356&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_zNUpTTzInO5j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s financial instruments that are measured at fair value on a recurring basis consist of certificates of deposit and U.S.
treasury bills and notes as of December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
connection with prior year acquisitions, the Company recorded a liability for contingent consideration in the form of shares of common
stock and warrants to purchase common stock, both to be issued when certain milestones are achieved. The fair value of contingent consideration is calculated using a discounted probability
weighted valuation model. Discount rates used in such calculations are a significant assumption that are not observed in the market,
and therefore, the resulting fair value represents a Level 3 measurement.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zpdn14zW2MP2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
changes for Level 3 items measured at fair value on a recurring basis are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_zsYaPKpwD5v7" style="display: none"&gt;Schedule
of Changes in the Fair Value Measurement&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; 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 id="xdx_491_20230101__20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zr5JjQ86pSRk" 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_401_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_pp0p0_zZ1kSkp0iIfl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 84%"&gt;Fair value as of December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,732,356&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_zg2Ux4C9pMl6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Change in fair value of contingent consideration issued for business acquisitions&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,092,581&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_zwkvocA8Y428" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Fair value as of December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,639,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zexBVP5xhkP" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the contingent consideration is based on the fair value of the contingent consideration-common stock and contingent consideration-warrants.
The fair value of the contingent consideration-common stock is equal to the probability-adjusted value of the Company&#x2019;s common
stock as of the valuation date. The fair value of the contingent consideration-warrants is equal to the probability adjusted value of
a call option with terms consistent with the terms of the warrants as of the valuation date. Prior to the probability adjustments, the
warrants were valued based on the following inputs:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zkO2Q6OwY5q3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_zHGqSjQV5q98" style="display: none"&gt;Schedule
of Contingent Consideration Common Stock and Warrants&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 64%"&gt;Stock price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zStncyLg47yj" style="width: 14%; text-align: right" title="Warrants measurement input"&gt;1.33&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_z0swE95w1H9" style="width: 14%; text-align: right" title="Warrants measurement input"&gt;2.52&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Strike price&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zTFnRs86Dhhj" style="text-align: right" title="Warrants measurement input"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zRCvyZlMmmjl" style="text-align: right" title="Warrants measurement input"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zhPuszBpWHDj" title="Warrants measurement input"&gt;187.5&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zfX1ZfnF5Ckj" title="Warrants measurement input"&gt;75.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Risk-free rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zEctuVJ1CmXj" title="Warrants measurement input"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zr6wf5a4Igmg" title="Warrants measurement input"&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected term (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zYMEblibep7i" title="Expected term"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20221231_zKpoVOMyV30e" title="Expected term"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zZGkJqShJuAb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair
Value of Other Financial Instruments&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
carrying amounts of certain financial instruments, including cash held in banks, accounts receivable, notes receivable, accounts payable,
accrued liabilities, and other liabilities approximate fair value due to their short-term maturities and are excluded from the fair value
tables above.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7063">&lt;p id="xdx_89D_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zL5U1YlBX0ta" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2023 and December
31, 2022, by level within the fair value hierarchy:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_z6moWAgDH4Ub" style="display: none"&gt;Schedule
of Fair Value Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zAD4Mk0LEej4" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zXbLCtEqcWKi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zOM5iQdFZQF2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zn4HUiXQCbcg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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&gt;Assets:&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 id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zlvxtjm5Fa66" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left"&gt;Cash equivalents&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;13,806,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0842"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0843"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;13,806,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zamJqINEfQoh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (U.S. treasury bills and notes)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0846"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0848"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zMRUzmbtZUtc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&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;13,806,864&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;43,631,510&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0853"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;57,438,374&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Liabilities:&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zir3FqVmEYq6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration - common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0856"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0857"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,318,995&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,318,995&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zrbcMERjNEKi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Contingent consideration - warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0861"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0862"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;320,780&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;320,780&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zGnyNofwXHDi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total liabilities measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0866"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0867"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,639,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,639,775&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zbEAdaHhU5W1" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zcdPKOmcY4H7" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zWGVdzflhLGh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20221231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zsWk8KpZjKwl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&#x202f;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 1)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 2)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(Level 3)&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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&gt;Assets:&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 id="xdx_406_eus-gaap--CashAndCashEquivalentsFairValueDisclosure_iI_pp0p0_zmi0iEtTmYt" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left"&gt;Cash equivalents&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;186,667&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;9,993,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0873"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;10,179,667&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--MarketableSecurities_iI_pp0p0_zw3vz65zPQLb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (U.S. treasury bills and notes)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0876"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0878"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,289,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AssetsFairValueDisclosure_iI_pp0p0_zAWuhb3z8p0i" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&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;186,667&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;68,282,066&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0883"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;68,468,733&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Liabilities:&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 id="xdx_40A_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_pp0p0_zg3l98euYy1k" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration - common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0886"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0887"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,499,147&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,499,147&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--FairValueOfContingentConsiderationToWarrants_iI_pp0p0_zQvlKUpIZKt3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Contingent consideration - warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0891"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0892"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;233,209&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;233,209&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LiabilitiesFairValueDisclosure_iI_pp0p0_zwLBc57WrGh9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total liabilities measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0896"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0897"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,732,356&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,732,356&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16481"
      unitRef="USD">13806864</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16482"
      unitRef="USD">13806864</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16483"
      unitRef="USD">43631510</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16484"
      unitRef="USD">43631510</us-gaap:MarketableSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16485"
      unitRef="USD">13806864</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16486"
      unitRef="USD">43631510</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16487"
      unitRef="USD">57438374</us-gaap:AssetsFairValueDisclosure>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      decimals="0"
      id="ixv-16488"
      unitRef="USD">1318995</CODX:FairValueOfContingentConsiderationToCommonStock>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16489"
      unitRef="USD">1318995</CODX:FairValueOfContingentConsiderationToCommonStock>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      decimals="0"
      id="ixv-16490"
      unitRef="USD">320780</CODX:FairValueOfContingentConsiderationToWarrants>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16491"
      unitRef="USD">320780</CODX:FairValueOfContingentConsiderationToWarrants>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      decimals="0"
      id="ixv-16492"
      unitRef="USD">1639775</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16493"
      unitRef="USD">1639775</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16494"
      unitRef="USD">186667</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16495"
      unitRef="USD">9993000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16496"
      unitRef="USD">10179667</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16497"
      unitRef="USD">58289066</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16498"
      unitRef="USD">58289066</us-gaap:MarketableSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      decimals="0"
      id="ixv-16499"
      unitRef="USD">186667</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      id="ixv-16500"
      unitRef="USD">68282066</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16501"
      unitRef="USD">68468733</us-gaap:AssetsFairValueDisclosure>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      decimals="0"
      id="ixv-16502"
      unitRef="USD">2499147</CODX:FairValueOfContingentConsiderationToCommonStock>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16503"
      unitRef="USD">2499147</CODX:FairValueOfContingentConsiderationToCommonStock>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      decimals="0"
      id="ixv-16504"
      unitRef="USD">233209</CODX:FairValueOfContingentConsiderationToWarrants>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16505"
      unitRef="USD">233209</CODX:FairValueOfContingentConsiderationToWarrants>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      decimals="0"
      id="ixv-16506"
      unitRef="USD">2732356</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16507"
      unitRef="USD">2732356</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7459">&lt;p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zpdn14zW2MP2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
changes for Level 3 items measured at fair value on a recurring basis are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_zsYaPKpwD5v7" style="display: none"&gt;Schedule
of Changes in the Fair Value Measurement&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; 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 id="xdx_491_20230101__20231231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zr5JjQ86pSRk" 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_401_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_pp0p0_zZ1kSkp0iIfl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 84%"&gt;Fair value as of December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,732,356&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_zg2Ux4C9pMl6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Change in fair value of contingent consideration issued for business acquisitions&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,092,581&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_zwkvocA8Y428" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Fair value as of December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,639,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="AsOf2022-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16508"
      unitRef="USD">2732356</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <CODX:ContingentConsideredIssuedForBusinessAcquisitions
      contextRef="From2023-01-012023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16509"
      unitRef="USD">-1092581</CODX:ContingentConsideredIssuedForBusinessAcquisitions>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="AsOf2023-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      id="ixv-16510"
      unitRef="USD">1639775</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7508">&lt;p id="xdx_89B_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zkO2Q6OwY5q3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_zHGqSjQV5q98" style="display: none"&gt;Schedule
of Contingent Consideration Common Stock and Warrants&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 64%"&gt;Stock price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zStncyLg47yj" style="width: 14%; text-align: right" title="Warrants measurement input"&gt;1.33&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_z0swE95w1H9" style="width: 14%; text-align: right" title="Warrants measurement input"&gt;2.52&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Strike price&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zTFnRs86Dhhj" style="text-align: right" title="Warrants measurement input"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zRCvyZlMmmjl" style="text-align: right" title="Warrants measurement input"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zhPuszBpWHDj" title="Warrants measurement input"&gt;187.5&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zfX1ZfnF5Ckj" title="Warrants measurement input"&gt;75.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Risk-free rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zEctuVJ1CmXj" title="Warrants measurement input"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_dp_uPure_c20221231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zr6wf5a4Igmg" title="Warrants measurement input"&gt;4.1&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected term (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20231231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zYMEblibep7i" title="Expected term"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20221231_zKpoVOMyV30e" title="Expected term"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2023-12-31_us-gaap_MeasurementInputSharePriceMember"
      decimals="INF"
      id="ixv-16511"
      unitRef="Pure">1.33</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2022-12-31_us-gaap_MeasurementInputSharePriceMember"
      decimals="INF"
      id="ixv-16512"
      unitRef="Pure">2.52</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2023-12-31_custom_MeasurementInputStrikePriceMember"
      decimals="INF"
      id="ixv-16513"
      unitRef="Pure">9.13</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2022-12-31_custom_MeasurementInputStrikePriceMember"
      decimals="INF"
      id="ixv-16514"
      unitRef="Pure">9.13</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2023-12-31_us-gaap_MeasurementInputPriceVolatilityMember"
      decimals="INF"
      id="ixv-16515"
      unitRef="Pure">1.875</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2022-12-31_us-gaap_MeasurementInputPriceVolatilityMember"
      decimals="INF"
      id="ixv-16516"
      unitRef="Pure">0.750</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2023-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember"
      decimals="INF"
      id="ixv-16517"
      unitRef="Pure">0.040</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2022-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember"
      decimals="INF"
      id="ixv-16518"
      unitRef="Pure">0.041</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingTerm
      contextRef="AsOf2023-12-31_us-gaap_MeasurementInputExpectedTermMember"
      id="ixv-16519">P3Y</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:WarrantsAndRightsOutstandingTerm contextRef="AsOf2022-12-31" id="ixv-16520">P4Y</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7589">&lt;p id="xdx_803_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zF7iMDmjjqo2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
5 &#x2013; &lt;span id="xdx_82D_zbzTrpmBu0Te"&gt;Property and Equipment&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zXYwHEe5RVSc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zywiablLOnG" style="display: none"&gt;Schedule
of Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"&gt;Estimated&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Useful Lives in years&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 52%; text-align: left"&gt;Lab equipment&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zGxqoLjW4VI3" title="Property and equipment estimated useful lives"&gt;3&lt;/span&gt; - &lt;span id="xdx_908_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zLNxxFhxOGq1" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUPXOFw2QSwj" style="width: 12%; text-align: right" title="Property and equipment, gross"&gt;4,545,908&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zAwUJlF0H237" style="width: 12%; text-align: right" title="Property and equipment, gross"&gt;3,574,730&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MinimumMember_zyunsAMj2tXb" title="Property and equipment estimated useful lives"&gt;0&lt;/span&gt; - &lt;span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MaximumMember_zJ3TYiInCpH3" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9zIE4oehgsf" style="text-align: right" title="Property and equipment, gross"&gt;548,648&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zSamhsnpEFpb" style="text-align: right" title="Property and equipment, gross"&gt;224,957&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment, furniture and other&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zWFcdeJkHZmb" title="Property and equipment estimated useful lives"&gt;2&lt;/span&gt; - &lt;span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zXfCdGuk8rv9" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zocNuIBg9MKe" style="text-align: right" title="Property and equipment, gross"&gt;173,668&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCaOTZg8tjy6" style="text-align: right" title="Property and equipment, gross"&gt;112,044&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less accumulated depreciation and amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231_z127ILTGMTQ1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(2,232,495&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231_zQZlDOWvZdU5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(1,372,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Fixed assets, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20231231_ztivCfqqzfui" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;3,035,729&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20221231_zMBAWVaG1Rj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;2,539,483&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A5_zeY4MW8brJV7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7596">&lt;p id="xdx_894_eus-gaap--PropertyPlantAndEquipmentTextBlock_zXYwHEe5RVSc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zywiablLOnG" style="display: none"&gt;Schedule
of Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"&gt;Estimated&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Useful Lives in years&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 52%; text-align: left"&gt;Lab equipment&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zGxqoLjW4VI3" title="Property and equipment estimated useful lives"&gt;3&lt;/span&gt; - &lt;span id="xdx_908_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zLNxxFhxOGq1" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUPXOFw2QSwj" style="width: 12%; text-align: right" title="Property and equipment, gross"&gt;4,545,908&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zAwUJlF0H237" style="width: 12%; text-align: right" title="Property and equipment, gross"&gt;3,574,730&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MinimumMember_zyunsAMj2tXb" title="Property and equipment estimated useful lives"&gt;0&lt;/span&gt; - &lt;span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember__srt--RangeAxis__srt--MaximumMember_zJ3TYiInCpH3" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z9zIE4oehgsf" style="text-align: right" title="Property and equipment, gross"&gt;548,648&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zSamhsnpEFpb" style="text-align: right" title="Property and equipment, gross"&gt;224,957&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment, furniture and other&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zWFcdeJkHZmb" title="Property and equipment estimated useful lives"&gt;2&lt;/span&gt; - &lt;span id="xdx_90B_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zXfCdGuk8rv9" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zocNuIBg9MKe" style="text-align: right" title="Property and equipment, gross"&gt;173,668&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zCaOTZg8tjy6" style="text-align: right" title="Property and equipment, gross"&gt;112,044&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less accumulated depreciation and amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231_z127ILTGMTQ1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(2,232,495&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231_zQZlDOWvZdU5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(1,372,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Fixed assets, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20231231_ztivCfqqzfui" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;3,035,729&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentNet_iTI_pp0p0_c20221231_zMBAWVaG1Rj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;2,539,483&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MinimumMember"
      id="ixv-16521">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_EquipmentMember_srt_MaximumMember"
      id="ixv-16522">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_EquipmentMember"
      decimals="0"
      id="ixv-16523"
      unitRef="USD">4545908</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_EquipmentMember"
      decimals="0"
      id="ixv-16524"
      unitRef="USD">3574730</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MinimumMember"
      id="ixv-16525">P0Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember_srt_MaximumMember"
      id="ixv-16526">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="ixv-16527"
      unitRef="USD">548648</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="ixv-16528"
      unitRef="USD">224957</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember"
      id="ixv-16529">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember"
      id="ixv-16530">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="ixv-16531"
      unitRef="USD">173668</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="ixv-16532"
      unitRef="USD">112044</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16533"
      unitRef="USD">2232495</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16534"
      unitRef="USD">1372248</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16535"
      unitRef="USD">3035729</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16536"
      unitRef="USD">2539483</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7693">&lt;p id="xdx_801_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zosDfEE6yfk3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
6 &#x2013; &lt;span id="xdx_822_ziiMvMtwROY7"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Goodwill&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of purchase price and related costs over the value assigned to net tangible and identifiable intangible assets
acquired in business combinations. The following table presents the changes in the carrying amount of goodwill:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ScheduleOfGoodwillTextBlock_zMSXnWtUBRL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zakdvgQ6JNq5" style="display: none"&gt;Schedule
of Goodwill&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%"&gt;Balance as of December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--Goodwill_iS_c20220101__20221231_zLshZkDAeIl3" style="width: 18%; text-align: right" title="Goodwil - beginning"&gt;14,706,818&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Measurement period adjustments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--GoodwillTranslationAndPurchaseAccountingAdjustments_c20220101__20221231_zzhAOlfUOJ57" style="text-align: right" title="Measurement period adjustments"&gt;681,728&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Goodwill impairment charges&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--GoodwillImpairmentLoss_iN_di_c20220101__20221231_zSLVI4bcl0Ha" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill impairment charges"&gt;(15,388,546&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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="padding-bottom: 2.5pt"&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--Goodwill_iE_c20220101__20221231_zU11ntw81cp2" style="border-bottom: Black 2.5pt double; text-align: right" title="Goodwill - ending"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0977"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zlCQcY3LJRJi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company assesses goodwill for impairment at the reporting unit level on an annual basis, or whenever events or changes in circumstances
occur that indicate that the fair value of a reporting unit is below its carrying amount. The Company estimates the fair value of its
reporting unit by using forecasts of discounted future cash flows and peer market multiples. If the fair value is less than the carrying
value, impairment will be recognized in the amount by which the carrying value exceeds the fair value. The Company performed a qualitative
and quantitative goodwill impairment assessment as of December 31, 2022. Based on the impairment assessment performed the Company concluded
that it was more likely than not that the fair value of the Company&#x2019;s reporting unit was less than it&#x2019;s carrying amount.
Accordingly, the Company recorded an impairment charge to reduce the carrying value of goodwill to $&lt;span id="xdx_90E_eus-gaap--Goodwill_iI_dxL_c20231231_zbSdystRBq6h" title="Goodwill::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0979"&gt;0&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Intangible
Assets, Net&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zauat8qW06m5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span id="xdx_8BC_zXZ3Q5rZhWVh" style="display: none"&gt;Schedule of Intangible Assets, Net&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="13" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&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-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;Weighted-Average&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Gross&lt;/td&gt;&lt;td style="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;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;Useful Life (1)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Carrying&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Carrying&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(in Years)&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amount&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amount&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 36%; text-align: left"&gt;In-process research and development&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_908_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_dtY_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zLheGfNdHHge" title="Estimated useful lives in years, term"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zVC5LKGpAyDl" style="width: 12%; text-align: right" title="Intangible assets, gross"&gt;&#x202f;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_ziLm5n7gDTwe" style="width: 12%; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0987"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zCx8GwOGFUxk" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Non-competition agreements&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&lt;span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zgBVBhGivXYk" title="Estimated useful lives in years"&gt;2.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zDuuiueC5rR1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross"&gt;1,094,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z6jThQ8BXE1b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;(791,333&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTX2zKfXOjVe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net"&gt;302,667&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231_zubGR9UUbvr7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross"&gt;27,195,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z91TgwPcDgR3" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization"&gt;(791,333&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231_zrw4HFsg7md7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;26,403,667&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="13" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2022&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="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; font-weight: bold"&gt;Weighted-Average&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center; font-weight: bold"&gt;Gross&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; font-weight: bold"&gt;Useful Life (1)&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center; font-weight: bold"&gt;Carrying&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center; font-weight: bold"&gt;Accumulated&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Carrying&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(in Years)&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Amount&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Amortization&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amount&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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: 36%; text-align: left"&gt;In-process research and development&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; width: 14%"&gt;&lt;span id="xdx_90A_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zYPXy5TmZx9b" title="Estimated useful lives in years, term"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_z1qa6pcFs49l" style="width: 12%; text-align: right" title="Intangible assets, gross"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zh59srlGc2bf" style="width: 12%; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1009"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zsMF65ixGlAl" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Non-competition agreements&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&lt;span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zzq6H5zPRuq1" title="Estimated useful lives in years"&gt;2.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z2AsePIY5Urb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross"&gt;1,094,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTs8mDjEKGSc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;(426,667&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z3YcMGRmMUfk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net"&gt;667,333&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231_zwo9QbRVJosc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross"&gt;27,195,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zfB5TwEuoRb1" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization"&gt;(426,667&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231_zxc7lPcwPBej" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;26,768,333&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span id="xdx_F08_zH4BFhvW9ERh" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F14_z4dE0MofHWg6" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Based on weighted-average
useful life established as of the acquisition date.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p id="xdx_8AA_zUDDrLZEW3j1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zaE8evcFDARl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
expected future annual amortization expense of the Company&#x2019;s intangible assets held as of December 31, 2023 is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_zYBcEoGdBpAh" style="display: none"&gt;Schedule
of Future Amortization Expense&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Year Ending December 31,&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20231231_zXPLBhQLYTo3" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amortization Expense&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zhEuoTYjemG6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;2024&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;302,667&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zFaPLziAkOY3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;302,667&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zwVTupyjbpV9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7710">&lt;p id="xdx_89A_eus-gaap--ScheduleOfGoodwillTextBlock_zMSXnWtUBRL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zakdvgQ6JNq5" style="display: none"&gt;Schedule
of Goodwill&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%"&gt;Balance as of December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--Goodwill_iS_c20220101__20221231_zLshZkDAeIl3" style="width: 18%; text-align: right" title="Goodwil - beginning"&gt;14,706,818&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Measurement period adjustments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--GoodwillTranslationAndPurchaseAccountingAdjustments_c20220101__20221231_zzhAOlfUOJ57" style="text-align: right" title="Measurement period adjustments"&gt;681,728&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Goodwill impairment charges&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--GoodwillImpairmentLoss_iN_di_c20220101__20221231_zSLVI4bcl0Ha" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill impairment charges"&gt;(15,388,546&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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="padding-bottom: 2.5pt"&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--Goodwill_iE_c20220101__20221231_zU11ntw81cp2" style="border-bottom: Black 2.5pt double; text-align: right" title="Goodwill - ending"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0977"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="ixv-16537"
      unitRef="USD">14706818</us-gaap:Goodwill>
    <us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16538"
      unitRef="USD">681728</us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16539"
      unitRef="USD">15388546</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-7778">&lt;p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zauat8qW06m5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span id="xdx_8BC_zXZ3Q5rZhWVh" style="display: none"&gt;Schedule of Intangible Assets, Net&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="13" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&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-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;Weighted-Average&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Gross&lt;/td&gt;&lt;td style="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;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;Useful Life (1)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Carrying&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Carrying&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(in Years)&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amount&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amount&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 36%; text-align: left"&gt;In-process research and development&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_908_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_dtY_c20230101__20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zLheGfNdHHge" title="Estimated useful lives in years, term"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zVC5LKGpAyDl" style="width: 12%; text-align: right" title="Intangible assets, gross"&gt;&#x202f;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_ziLm5n7gDTwe" style="width: 12%; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0987"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zCx8GwOGFUxk" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Non-competition agreements&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&lt;span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zgBVBhGivXYk" title="Estimated useful lives in years"&gt;2.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zDuuiueC5rR1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross"&gt;1,094,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z6jThQ8BXE1b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;(791,333&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTX2zKfXOjVe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net"&gt;302,667&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20231231_zubGR9UUbvr7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross"&gt;27,195,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20231231_z91TgwPcDgR3" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization"&gt;(791,333&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20231231_zrw4HFsg7md7" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;26,403,667&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="13" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;December 31, 2022&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="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; font-weight: bold"&gt;Weighted-Average&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center; font-weight: bold"&gt;Gross&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; font-weight: bold"&gt;Useful Life (1)&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center; font-weight: bold"&gt;Carrying&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center; font-weight: bold"&gt;Accumulated&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Carrying&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;(in Years)&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Amount&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Amortization&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amount&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; 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: 36%; text-align: left"&gt;In-process research and development&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; width: 14%"&gt;&lt;span id="xdx_90A_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20220101__20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_fKDEp_zYPXy5TmZx9b" title="Estimated useful lives in years, term"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_z1qa6pcFs49l" style="width: 12%; text-align: right" title="Intangible assets, gross"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zh59srlGc2bf" style="width: 12%; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1009"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zsMF65ixGlAl" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Non-competition agreements&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&lt;span id="xdx_904_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_fKDEp_zzq6H5zPRuq1" title="Estimated useful lives in years"&gt;2.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z2AsePIY5Urb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, gross"&gt;1,094,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zTs8mDjEKGSc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;(426,667&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z3YcMGRmMUfk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Intangible assets, net"&gt;667,333&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_c20221231_zwo9QbRVJosc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, gross"&gt;27,195,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20221231_zfB5TwEuoRb1" style="border-bottom: Black 2.5pt double; text-align: right" title="Less accumulated amortization"&gt;(426,667&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_pp0p0_c20221231_zxc7lPcwPBej" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;26,768,333&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span id="xdx_F08_zH4BFhvW9ERh" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F14_z4dE0MofHWg6" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Based on weighted-average
useful life established as of the acquisition date.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <CODX:IndefiniteLivedIntangibleAssetUsefulLife
      contextRef="From2023-01-012023-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      id="Fact000983">Indefinite</CODX:IndefiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      decimals="0"
      id="ixv-16541"
      unitRef="USD">26101000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      decimals="0"
      id="ixv-16542"
      unitRef="USD">26101000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember"
      id="Fact000991">P2Y8M12D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      id="ixv-16544"
      unitRef="USD">1094000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      id="ixv-16545"
      unitRef="USD">-791333</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      id="ixv-16546"
      unitRef="USD">302667</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16547"
      unitRef="USD">27195000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16548"
      unitRef="USD">-791333</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16549"
      unitRef="USD">26403667</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <CODX:IndefiniteLivedIntangibleAssetUsefulLife
      contextRef="From2022-01-012022-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      id="Fact001005">Indefinite</CODX:IndefiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      decimals="0"
      id="ixv-16551"
      unitRef="USD">26101000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2022-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      decimals="0"
      id="ixv-16552"
      unitRef="USD">26101000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember"
      id="Fact001013">P2Y8M12D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      id="ixv-16554"
      unitRef="USD">1094000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      id="ixv-16555"
      unitRef="USD">-426667</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2022-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      id="ixv-16556"
      unitRef="USD">667333</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16557"
      unitRef="USD">27195000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16558"
      unitRef="USD">-426667</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16559"
      unitRef="USD">26768333</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8001">&lt;p id="xdx_890_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zaE8evcFDARl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
expected future annual amortization expense of the Company&#x2019;s intangible assets held as of December 31, 2023 is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_zYBcEoGdBpAh" style="display: none"&gt;Schedule
of Future Amortization Expense&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Year Ending December 31,&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20231231_zXPLBhQLYTo3" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amortization Expense&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zhEuoTYjemG6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;2024&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;302,667&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zFaPLziAkOY3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;302,667&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16561"
      unitRef="USD">302667</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16562"
      unitRef="USD">302667</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8030">&lt;p id="xdx_802_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zrHeIEJpoYN6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
7 - &lt;span id="xdx_82D_zcEN2OAm9sHg"&gt;Accrued Expenses&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZ4zZBkEIdya" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
expenses consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span id="xdx_8BC_zTi4zaMNbugi" style="display: none"&gt;Schedule of Accrued Expenses&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20231231_zPOtjbCLt9d9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20221231_zNbEbBM9JXm2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zECg7VTTj1K2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%; text-align: left"&gt;Payroll liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;1,643,186&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&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;428,354&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zwgCRy2FgH83" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Distributor commissions&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;9,958&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;159,725&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zfMF5tuApwZ9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Other accrued liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;519,815&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;346,368&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--AccruedLiabilitiesCurrent_iTI_mtALCzYz0_zRDUP72pL5z" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total accrued expenses&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;2,172,959&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;934,447&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: 0pt; 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 id="xdx_8AD_z5Mk8VYTbNf3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&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: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8037">&lt;p id="xdx_895_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zZ4zZBkEIdya" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
expenses consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span id="xdx_8BC_zTi4zaMNbugi" style="display: none"&gt;Schedule of Accrued Expenses&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20231231_zPOtjbCLt9d9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20221231_zNbEbBM9JXm2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zECg7VTTj1K2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%; text-align: left"&gt;Payroll liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;1,643,186&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&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;428,354&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zwgCRy2FgH83" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Distributor commissions&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;9,958&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;159,725&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zfMF5tuApwZ9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Other accrued liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;519,815&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;346,368&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--AccruedLiabilitiesCurrent_iTI_mtALCzYz0_zRDUP72pL5z" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total accrued expenses&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;2,172,959&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;934,447&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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16563"
      unitRef="USD">1643186</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16564"
      unitRef="USD">428354</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16565"
      unitRef="USD">9958</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16566"
      unitRef="USD">159725</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16567"
      unitRef="USD">519815</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16568"
      unitRef="USD">346368</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16569"
      unitRef="USD">2172959</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16570"
      unitRef="USD">934447</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8104">&lt;p id="xdx_804_eus-gaap--RevenueFromContractWithCustomerTextBlock_z7CkjE3SZt6b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
8 &#x2013; &lt;span id="xdx_824_zcTrMRPEwIM4"&gt;Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zupC7jpXe8h7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth revenue by geographic area:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_zzWxNNvPMFJ9" style="display: none"&gt;Summary
of Revenue by Geographic Area&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20230101__20231231_zyi47Nz7UiW9" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20220101__20221231_zdLOvjPqxG8g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;United States&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 id="xdx_405_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--ProductMember_zemyxUwKBni1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 64%; text-align: left"&gt;Product revenue&lt;/td&gt;&lt;td style="width: 2%"&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;659,618&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&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;24,671,554&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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--GrantMember_zKqqYV1aE4cb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Grant revenue&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;5,820,565&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1058"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US_zO1f3fWGTcrj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Total United States&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;6,480,183&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;24,671,554&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Rest of World&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 id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--ProductMember_zzLxtCHY9NKa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Product revenue&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;331,855&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;9,546,655&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--GrantMember_zTvW3CEGY0s8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Grant revenue&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1066"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1067"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember_z8HAUzRQGQO5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Total Rest of World&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;331,855&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,546,655&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zuTmQDEvzD8e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,812,038&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;34,218,209&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zGggZ7cE2p86" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Revenue geographic area&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;6,812,038&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;34,218,209&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Percentage of revenue by area:&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="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zHTbr3pDetz5" style="text-align: right" title="Percentage of revenue"&gt;95&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zrxidxiZeHkl" style="text-align: right" title="Percentage of revenue"&gt;72&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Rest of World&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJ1d3pz3Un74" style="text-align: right" title="Percentage of revenue"&gt;5&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zBEs29JLtPr7" style="text-align: right" title="Percentage of revenue"&gt;28&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zVIK3c1YCu5a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Deferred
Revenue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zU7KKb8sKMql" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Changes
in the Company&#x2019;s deferred revenue balance for the year ended December 31, 2023 were as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zovZkE3c1Fw" style="display: none"&gt;Schedule
of Deferred Revenue&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ContractWithCustomerLiability_iS_c20230101__20231231_zmSoc5Dfuauf" style="text-align: right" title="Deferred revenue, beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1088"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 84%; text-align: left"&gt;Increase due to prepayments from customers&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20230101__20231231_zOs8v2Hdimai" style="width: 12%; text-align: right" title="Increase due to prepayments from customers"&gt;32,570&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Increase due to grant funding awarded&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--IncreaseDueToPrepaymentsFromGrantsReceived_c20230101__20231231_zcPbvalpdOLk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from grants received"&gt;329,879&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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;Balance as of December, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ContractWithCustomerLiability_iE_c20230101__20231231_z1PVvhDdbVgl" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, ending balance"&gt;362,449&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zwiLZD7YnlP6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8111">&lt;p id="xdx_89A_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zupC7jpXe8h7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth revenue by geographic area:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_zzWxNNvPMFJ9" style="display: none"&gt;Summary
of Revenue by Geographic Area&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20230101__20231231_zyi47Nz7UiW9" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20220101__20221231_zdLOvjPqxG8g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;United States&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 id="xdx_405_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--ProductMember_zemyxUwKBni1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 64%; text-align: left"&gt;Product revenue&lt;/td&gt;&lt;td style="width: 2%"&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;659,618&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&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;24,671,554&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--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US__srt--ProductOrServiceAxis__us-gaap--GrantMember_zKqqYV1aE4cb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Grant revenue&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;5,820,565&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1058"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__country--US_zO1f3fWGTcrj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Total United States&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;6,480,183&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;24,671,554&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Rest of World&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 id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--ProductMember_zzLxtCHY9NKa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Product revenue&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;331,855&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;9,546,655&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember__srt--ProductOrServiceAxis__us-gaap--GrantMember_zTvW3CEGY0s8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Grant revenue&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1066"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1067"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_hsrt--StatementGeographicalAxis__custom--RestOfWorldMember_z8HAUzRQGQO5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Total Rest of World&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;331,855&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,546,655&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zuTmQDEvzD8e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,812,038&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;34,218,209&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_pp0d_zGggZ7cE2p86" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Revenue geographic area&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;6,812,038&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;34,218,209&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Percentage of revenue by area:&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="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zHTbr3pDetz5" style="text-align: right" title="Percentage of revenue"&gt;95&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__country--US__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zrxidxiZeHkl" style="text-align: right" title="Percentage of revenue"&gt;72&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Rest of World&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20230101__20231231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJ1d3pz3Un74" style="text-align: right" title="Percentage of revenue"&gt;5&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20221231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zBEs29JLtPr7" style="text-align: right" title="Percentage of revenue"&gt;28&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-012023-12-31_country_US_us-gaap_ProductMember"
      decimals="0"
      id="ixv-16571"
      unitRef="USD">659618</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31_country_US_us-gaap_ProductMember"
      decimals="0"
      id="ixv-16572"
      unitRef="USD">24671554</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-012023-12-31_country_US_us-gaap_GrantMember"
      decimals="0"
      id="ixv-16573"
      unitRef="USD">5820565</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-012023-12-31_country_US"
      decimals="0"
      id="ixv-16574"
      unitRef="USD">6480183</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31_country_US"
      decimals="0"
      id="ixv-16575"
      unitRef="USD">24671554</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_ProductMember"
      decimals="0"
      id="ixv-16576"
      unitRef="USD">331855</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_ProductMember"
      decimals="0"
      id="ixv-16577"
      unitRef="USD">9546655</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember"
      decimals="0"
      id="ixv-16578"
      unitRef="USD">331855</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember"
      decimals="0"
      id="ixv-16579"
      unitRef="USD">9546655</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16580"
      unitRef="USD">6812038</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16581"
      unitRef="USD">34218209</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16582"
      unitRef="USD">6812038</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16583"
      unitRef="USD">34218209</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      id="ixv-16584"
      unitRef="Pure">0.95</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_country_US_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      id="ixv-16585"
      unitRef="Pure">0.72</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      id="ixv-16586"
      unitRef="Pure">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      id="ixv-16587"
      unitRef="Pure">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8280">&lt;p id="xdx_898_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zU7KKb8sKMql" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Changes
in the Company&#x2019;s deferred revenue balance for the year ended December 31, 2023 were as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zovZkE3c1Fw" style="display: none"&gt;Schedule
of Deferred Revenue&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ContractWithCustomerLiability_iS_c20230101__20231231_zmSoc5Dfuauf" style="text-align: right" title="Deferred revenue, beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1088"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 84%; text-align: left"&gt;Increase due to prepayments from customers&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20230101__20231231_zOs8v2Hdimai" style="width: 12%; text-align: right" title="Increase due to prepayments from customers"&gt;32,570&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Increase due to grant funding awarded&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--IncreaseDueToPrepaymentsFromGrantsReceived_c20230101__20231231_zcPbvalpdOLk" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from grants received"&gt;329,879&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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;Balance as of December, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ContractWithCustomerLiability_iE_c20230101__20231231_z1PVvhDdbVgl" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, ending balance"&gt;362,449&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <CODX:IncreaseDueToPrepaymentsFromCustomers
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16588"
      unitRef="USD">32570</CODX:IncreaseDueToPrepaymentsFromCustomers>
    <CODX:IncreaseDueToPrepaymentsFromGrantsReceived
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16589"
      unitRef="USD">329879</CODX:IncreaseDueToPrepaymentsFromGrantsReceived>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16590"
      unitRef="USD">362449</us-gaap:ContractWithCustomerLiability>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8319">&lt;p id="xdx_804_eus-gaap--EarningsPerShareTextBlock_zrg3c72nRbdi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
9 &#x2013; &lt;span id="xdx_82D_zLRsSbxjIvA2"&gt;Earnings per Share&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zBnAhYFvRwW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B0_zRxOEGhS7lJc" style="display: none"&gt;Schedule
of Basis and Diluted Earnings Per Share&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230101__20231231_zkTGrQnmJmI5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20220101__20221231_zW3rcj1aiZk6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Numerator&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 id="xdx_405_eus-gaap--NetIncomeLoss_zXyfgH1ZGbFi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 64%; text-align: left; padding-bottom: 2.5pt"&gt;Net loss, as reported&lt;/td&gt;&lt;td style="width: 2%; 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;(35,332,865&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%; 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;(14,238,249&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; 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&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-weight: bold"&gt;Denominator&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 id="xdx_403_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zEKiuQc8iNdf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Weighted average shares, basic&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;29,346,599&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;31,479,028&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_ziV2b9dLlmRd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Dilutive effect of stock options, warrants and RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1106"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1107"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z3vBQYDwVA9b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Shares used to compute diluted earnings per share&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;29,346,599&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;31,479,028&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--EarningsPerShareBasic_pid_zAz6l3VgZru" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(1.20&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.45&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zbSACQdXNU62" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Diluted earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(1.20&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.45&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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 id="xdx_8A4_zsbUv8CL689l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
computation of diluted earnings per share for the years ended December 31, 2023 and December 31, 2022 also excludes approximately &lt;span id="xdx_902_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zU1fzCyvEQIi" title="Securities excluded from computation of diluted earnings per share"&gt;&lt;span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zwdPyphmTuEk" title="Securities excluded from computation of diluted earnings per share"&gt;1.4&lt;/span&gt;&lt;/span&gt;
million shares of common stock and approximately &lt;span id="xdx_908_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zIMzMwTpo5ml" title="Securities excluded from computation of diluted earnings per share"&gt;&lt;span id="xdx_90F_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk3qo9d9GVZj" title="Securities excluded from computation of diluted earnings per share"&gt;465,000&lt;/span&gt;&lt;/span&gt; warrants to purchase shares of common stock that are contingent upon the achievement
of certain milestones.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
a result of incurring a net loss for the years ended December 31, 2023 and 2022, respectively, &lt;span id="xdx_906_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pid_do_uShares_c20230101__20231231_zUL6jWzXFUD8" title="Securities excluded from computation of diluted earnings per share"&gt;&lt;span id="xdx_907_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pid_do_uShares_c20220101__20221231_zyQgWGf3eDYf" title="Securities excluded from computation of diluted earnings per share"&gt;no&lt;/span&gt;&lt;/span&gt; potentially dilutive securities are
included in the calculation of diluted earnings per share because such effect would be anti-dilutive. The Company had potentially dilutive
securities as of December 31, 2023, consisting of: (i) &lt;span id="xdx_906_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--RestrictedStockUnitsRSUMember_zozOQVh5Eekf" title="Securities excluded from computation of diluted earnings per share"&gt;2,618,362&lt;/span&gt; restricted stock units and (ii) &lt;span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20230101__20231231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--EmployeeStockOptionMember_zc5c2D7Q7Khk" title="Securities excluded from computation of diluted earnings per share"&gt;512,112&lt;/span&gt; options, and potentially dilutive
securities as of December 31, 2022, consisting of: (i) &lt;span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--RestrictedStockUnitsRSUMember_zkQvPqYwjCwl" title="Securities excluded from computation of diluted earnings per share"&gt;1,443,238&lt;/span&gt; restricted stock units and (ii) &lt;span id="xdx_90D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20221231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--EmployeeStockOptionMember_zXjnYuQuefcg" title="Securities excluded from computation of diluted earnings per share"&gt;50,000&lt;/span&gt; options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8326">&lt;p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zBnAhYFvRwW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B0_zRxOEGhS7lJc" style="display: none"&gt;Schedule
of Basis and Diluted Earnings Per Share&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230101__20231231_zkTGrQnmJmI5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20220101__20221231_zW3rcj1aiZk6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Numerator&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 id="xdx_405_eus-gaap--NetIncomeLoss_zXyfgH1ZGbFi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 64%; text-align: left; padding-bottom: 2.5pt"&gt;Net loss, as reported&lt;/td&gt;&lt;td style="width: 2%; 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;(35,332,865&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%; 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;(14,238,249&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; 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&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-weight: bold"&gt;Denominator&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 id="xdx_403_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zEKiuQc8iNdf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Weighted average shares, basic&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;29,346,599&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;31,479,028&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_ziV2b9dLlmRd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Dilutive effect of stock options, warrants and RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1106"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1107"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z3vBQYDwVA9b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Shares used to compute diluted earnings per share&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;29,346,599&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;31,479,028&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--EarningsPerShareBasic_pid_zAz6l3VgZru" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(1.20&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.45&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zbSACQdXNU62" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Diluted earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(1.20&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.45&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16591"
      unitRef="USD">-35332865</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16592"
      unitRef="USD">-14238249</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16593"
      unitRef="Shares">29346599</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16594"
      unitRef="Shares">31479028</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16595"
      unitRef="Shares">29346599</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16596"
      unitRef="Shares">31479028</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16597"
      unitRef="USDPShares">-1.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16598"
      unitRef="USDPShares">-0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16599"
      unitRef="USDPShares">-1.20</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16600"
      unitRef="USDPShares">-0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="-5"
      id="ixv-16601"
      unitRef="Shares">1400000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="-5"
      id="ixv-16602"
      unitRef="Shares">1400000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="ixv-16603"
      unitRef="Shares">465000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="ixv-16604"
      unitRef="Shares">465000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16605"
      unitRef="Shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16606"
      unitRef="Shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16607"
      unitRef="Shares">2618362</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="ixv-16608"
      unitRef="Shares">512112</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16609"
      unitRef="Shares">1443238</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="ixv-16610"
      unitRef="Shares">50000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8492">&lt;p id="xdx_80C_eus-gaap--DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_zddNEZSoTIYf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
10 &#x2013; &lt;span id="xdx_821_zA1Er1L9tLPh"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock
Incentive Plans&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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 adopted, and shareholders approved, the Co-Diagnostics, Inc. Amended and Restated 2015 Long Term Incentive
Plan (the &#x201c;Incentive Plan&#x201d;) providing for the issuance of stock-based incentive awards to employees, officers, consultants,
directors and independent contractors. On August 31, 2022 the shareholders approved an increase in the number of awards available for
issuance under the Incentive Plan to an aggregate of &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20220831__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zGpOm8JSGsEc" title="Number of common shares availalble for issuance"&gt;12,000,000&lt;/span&gt; shares of common stock. The number of awards available for issuance under
the Incentive Plan was &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20231231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zZyqkqWxtwM2" title="Number of common shares availalble for issuance"&gt;4,357,937&lt;/span&gt; at December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock
Options&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zuL9fFVIgKtj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes option activity during the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zlcngleeUMH6" style="display: none"&gt;Schedule
of Option Activity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Exercise Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 36%"&gt;Outstanding at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231_zfUUbIZb6CZe" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning"&gt;1,111,363&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zvn4rcb8NKM8" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;2.12&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231_zqQVU2UJMuwh" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;1.31&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20220101__20221231_zqPPnYJESQd4" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1152"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zPdmlbpnJWHb" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1154"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231_zyDPc4jJKU7i" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1156"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20221231_zGOrpNgCdSU9" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1158"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zbkzoEQ07O4i" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1160"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20220101__20221231_zAKnE0zwjIvb" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1162"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20220101__20221231_zjqhxkLjfeDl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1164"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231_z3Eme5Eyqx9c" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1166"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20220101__20221231_zuSITH25j44" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1168"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20221231_zzmeq1JkAWSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;(70,791&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCystanSzAW8" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;1.10&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20220101__20221231_zod7otR9f0Bf" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;0.51&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231_zpmrcp3Wknya" style="text-align: right" title="Number of Options Outstanding, Beginning"&gt;1,040,572&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zHqTK3fA9WLf" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;2.19&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_zEHLyj07cx13" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;1.37&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zxDJl2djPTNi" title="Weighted-average Remaining Contractual Life (years) Outstanding, Beginning"&gt;5.88&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="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20230101__20231231_z7jBRtM9qKI1" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1184"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231_z5JrsANdXSyf" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1186"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231_z0k4KdxUauCl" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1188"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20231231_zEBykw0yCVV6" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1190"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zzmsaRODlyu3" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1192"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20230101__20231231_zFXvDXYu5Ip7" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1194"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230101__20231231_zwBClPZLnujl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1196"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20230101__20231231_zd1Ng1zEiwe7" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1198"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20230101__20231231_zTFUmkXTtr18" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1200"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230101__20231231_zuMbactPfx61" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1202"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zkYPXudxeDm9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1204"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20230101__20231231_zdupCWD85E8i" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1206"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231_zYM2YU3MUxD7" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending"&gt;1,040,572&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zIDt2NTJUBn7" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending"&gt;2.19&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_ziwQBOBnhHK2" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending"&gt;1.37&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_dtY_c20230101__20231231_zH2CZFgc5bFh" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending"&gt;4.89&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230101__20231231_zWxTFnPWLR9a" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending"&gt;1,040,572&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20230101__20231231_ztiSRsau4fnf" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending"&gt;2.19&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20230101__20231231_zGg4yFlGWn5b" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending"&gt;1.37&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_zDZT3VkMjSG3" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending"&gt;4.89&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zVxZ0eHsNUU" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
total intrinsic value of options exercised during the years ended December 31, 2023 and 2022, respectively, was $&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_c20230101__20231231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zswDQsbb6x6k" title="Intrinsic value of options value exercised"&gt;0&lt;/span&gt; and approximately
$&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20220101__20221231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zVF7aAXgt5D8" title="Intrinsic value of options value exercised"&gt;0.4&lt;/span&gt; million. The aggregate intrinsic value of outstanding options at December 31, 2023 and 2022 was approximately $&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20231231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zTMCy2Bvy5xb" title="Aggregate intrinsic value of outstanding options"&gt;0.2&lt;/span&gt; million and $&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20221231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zLOb8IDHM4fb" title="Aggregate intrinsic value of outstanding options"&gt;0.8&lt;/span&gt;
million, respectively. As of December 31, 2023, there were no unvested options and no unrecognized stock-based compensation expense related
to options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Restricted
Stock Units&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zqh50fdtRDh4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#x2019;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BC_znMvlWauzPkb" style="display: none"&gt;Schedule
of Outstanding Restricted Stock Units and Related Party&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Average Grant Date Fair Value&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 64%"&gt;Unvested at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhd76MDGHSnb" style="width: 14%; text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;1,267,415&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zLTJ6FWkNsja" style="width: 14%; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;9.94&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcqy0nS3PIU6" style="text-align: right" title="Number of Restricted Stock Units, Granted"&gt;1,925,476&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhGsGOt2miVh" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;5.66&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKLpNaSAY3e7" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(725,166&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zT4XLEetUTSg" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;8.66&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zp8kIohbFj32" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;(41,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXAaNI3RYfy9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;8.31&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Unvested at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvh3M2dVg7E6" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;2,426,725&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zC9DruVIeOS5" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;6.95&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2CU1ssMzSa8" style="text-align: right" title="Number of Restricted Stock Units, Granted"&gt;1,948,750&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHlTRHZzhzof" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;1.92&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zxmXkor33Gc1" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(1,354,081&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z3EKlGRt0cI3" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;6.17&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zDBdSdiacP7b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;(95,897&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztIe6HJpuF21" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;6.16&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Unvested at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9SK3v3Suf97" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending"&gt;2,925,497&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zY7bM55B1Gc3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending"&gt;3.99&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_zcUf8RHC0Ah6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2023, there was $&lt;span id="xdx_905_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pn5n6_c20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zIvtFoGByBmh" title="Unrecognized stock-based compensation"&gt;9.5&lt;/span&gt; million of unrecognized stock-based compensation expense related to outstanding RSUs which is expected
to be recognized over a weighted-average period of &lt;span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkS3s90LAnuj" title="Weighted average period"&gt;1.7&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Warrants&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has issued warrants related to financings, acquisitions and as compensation to third parties for services provided. The Company
estimates the fair value of issued warrants on the date of issuance as determined using a Black-Scholes pricing model. The Company amortizes
the fair value of issued warrants using a vesting schedule based on the terms and conditions of each warrant if granted for services.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zGm6iFaGPpqf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes warrant activity during the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zcp14VjSddQa" style="display: none"&gt;Schedule
of Warrant Activity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted Average Exercise&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Price&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 40%"&gt;Outstanding at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20220101__20221231_zts8Zk16Tuej" style="width: 11%; text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;526,281&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zTJi4Xoe47ra" style="width: 11%; text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;8.15&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20220101__20221231_zbfgcM7p4c3b" style="width: 11%; text-align: right" title="Weighted Average fair value, Beginning"&gt;4.01&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231_zSqLJooZvGxg" title="Weighted-average Remaining Contractual Life (Years) Outstanding"&gt;4.7&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Issued for adjustments to contingent purchase consideration&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_c20220101__20221231_zwlGyYXTBMbh" style="text-align: right" title="Number of Warrants Outstanding, Issued"&gt;8,719&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCVjHaZyPha8" style="text-align: right" title="Weighted Average Exercise Price, Issued"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zuN0HNtpr0bi" style="text-align: right" title="Weighted Average Fair Value, Issued"&gt;1.88&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="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20220101__20221231_zuToqGPFDhKk" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1290"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zg2Vh5gR2B2e" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1292"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zc4J1e9iuEe7" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1294"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20220101__20221231_zur5hyRwHMPi" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1296"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_znOf6WpWCH0b" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1298"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zkmI5Punj23k" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1300"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20220101__20221231_zntU1523wll8" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1302"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zQ8mOH6EoWD" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1304"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_z9sLoh8Gasf4" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1306"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20220101__20221231_zBFMww47hEc7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;(50,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zajl4XfThVN" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;2.00&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zV6Mtk1w38e3" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;1.22&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20230101__20231231_zgXHOXuQKjda" style="text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;485,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zZlM3gjskajf" style="text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;8.81&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20230101__20231231_zgqbwohPfy2b" style="text-align: right" title="Weighted Average fair value, Beginning"&gt;2.43&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20220101__20221231_z0l309U0q73e" title="Weighted-average Remaining Contractual Life (Years) Outstanding"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20230101__20231231_zYE7CYTTKCs" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1322"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z09dle1R83N" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1324"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z54PFd9khL2c" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1326"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20230101__20231231_z4hsN4cLXEH3" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1328"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z5pAabUvms8i" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1330"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zCwoOsxUmgsd" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1332"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20230101__20231231_zPUZaojQHJfh" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1334"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z7eCJIoo29h" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1336"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zkxsIC1cMgFd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1338"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20230101__20231231_z4KtW0LAFfHb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1340"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zz8fLqqFJv1g" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1342"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z6cx87XDrqI5" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1344"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20230101__20231231_zcufPtvEXGQ2" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending"&gt;485,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zrXZ2sMlFMbb" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending"&gt;8.81&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231_zEdQaU1OIxId" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending"&gt;1.29&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_90C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20230101__20231231_zi3KSB7ddt5k" title="Weighted-average Remaining Contractual Life (Years) Outstanding"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zsT5RqzWIUhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
intrinsic value of warrants exercised during the years ended December 31, 2023 and 2022, respectively, was $&lt;span id="xdx_901_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zL7V1tWcWh1h" title="Intrinsic value of warrants exercised"&gt;0&lt;/span&gt; and approximately $&lt;span id="xdx_901_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z7DysL26ij1l" title="Intrinsic value of warrants exercised"&gt;0.3&lt;/span&gt;
million. The aggregate intrinsic value of outstanding warrants at December 31, 2023 was approximately $&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zmrzBGwUlqf1" title="Aggregate intrinsic value of options outstanding"&gt;0&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
total number of warrants exercisable at December 31, 2023 is &lt;span id="xdx_909_ecustom--ClassOfWarrantExercisable_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zBSJjAJbzirl" title="Warrants exercisable"&gt;20,000&lt;/span&gt;. The ability to exercise the approximately &lt;span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231_z4iqe068wFnc" title="Warrants purchase"&gt;465,000&lt;/span&gt; warrants issued
in connection with acquisitions in prior years is contingent upon the achievement of certain development and revenue milestones on or
before January 1, 2027. There was no unrecognized stock-based compensation expense related to warrants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock-Based
Compensation Expense&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zG1ZO3xHtDAk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognized stock-based compensation expense as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zqqGf0Cvi5Ak" style="display: none"&gt;Schedule
of Recognized Stock-based Compensation Expense&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20230101__20231231_zUyU6PXatIVi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20220101__20221231_zVwz74A60Wr7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zsZdlhB6NyQj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%"&gt;Cost of sales&lt;/td&gt;&lt;td style="width: 2%"&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;46,586&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&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;63,058&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingAndMarketingExpenseMember_zB8zZJvF8PU7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Sales and marketing&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,153,974&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,866,116&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--GeneralAndAdministrativeExpenseMember_zDaT9YBOZd1e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;General and administrative&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;4,933,822&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;4,050,967&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--ResearchAndDevelopmentExpenseMember_zlSekZuMCO85" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Research and development&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,202,473&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,563,082&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_ze6lQOV68Zvl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total stock-based compensation expense&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;8,336,855&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7,543,223&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AD_zmRCb7DZKnml" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2022-08-31_custom_TwoThousandFifteenLongTermIncentivePlanMember"
      decimals="INF"
      id="ixv-16611"
      unitRef="Shares">12000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2023-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember"
      decimals="INF"
      id="ixv-16612"
      unitRef="Shares">4357937</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8515">&lt;p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zuL9fFVIgKtj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes option activity during the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_zlcngleeUMH6" style="display: none"&gt;Schedule
of Option Activity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Exercise Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 36%"&gt;Outstanding at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231_zfUUbIZb6CZe" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning"&gt;1,111,363&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zvn4rcb8NKM8" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;2.12&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231_zqQVU2UJMuwh" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;1.31&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20220101__20221231_zqPPnYJESQd4" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1152"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zPdmlbpnJWHb" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1154"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231_zyDPc4jJKU7i" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1156"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20221231_zGOrpNgCdSU9" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1158"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20221231_zbkzoEQ07O4i" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1160"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20220101__20221231_zAKnE0zwjIvb" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1162"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20220101__20221231_zjqhxkLjfeDl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1164"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231_z3Eme5Eyqx9c" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1166"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20220101__20221231_zuSITH25j44" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1168"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20221231_zzmeq1JkAWSl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;(70,791&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCystanSzAW8" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;1.10&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20220101__20221231_zod7otR9f0Bf" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;0.51&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231_zpmrcp3Wknya" style="text-align: right" title="Number of Options Outstanding, Beginning"&gt;1,040,572&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zHqTK3fA9WLf" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;2.19&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_zEHLyj07cx13" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;1.37&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231_zxDJl2djPTNi" title="Weighted-average Remaining Contractual Life (years) Outstanding, Beginning"&gt;5.88&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="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20230101__20231231_z7jBRtM9qKI1" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1184"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231_z5JrsANdXSyf" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1186"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231_z0k4KdxUauCl" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1188"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20231231_zEBykw0yCVV6" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1190"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zzmsaRODlyu3" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1192"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20230101__20231231_zFXvDXYu5Ip7" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1194"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20230101__20231231_zwBClPZLnujl" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1196"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20230101__20231231_zd1Ng1zEiwe7" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1198"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20230101__20231231_zTFUmkXTtr18" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1200"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20230101__20231231_zuMbactPfx61" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1202"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zkYPXudxeDm9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1204"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_pid_c20230101__20231231_zdupCWD85E8i" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1206"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231_zYM2YU3MUxD7" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending"&gt;1,040,572&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zIDt2NTJUBn7" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending"&gt;2.19&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231_ziwQBOBnhHK2" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending"&gt;1.37&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_90E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm_dtY_c20230101__20231231_zH2CZFgc5bFh" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending"&gt;4.89&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20230101__20231231_zWxTFnPWLR9a" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending"&gt;1,040,572&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20230101__20231231_ztiSRsau4fnf" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending"&gt;2.19&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20230101__20231231_zGg4yFlGWn5b" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending"&gt;1.37&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231_zDZT3VkMjSG3" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending"&gt;4.89&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="ixv-16613"
      unitRef="Shares">1111363</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="ixv-16614"
      unitRef="USDPShares">2.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="ixv-16615"
      unitRef="USDPShares">1.31</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16616"
      unitRef="Shares">70791</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16617"
      unitRef="USDPShares">1.10</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16618"
      unitRef="USDPShares">0.51</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16619"
      unitRef="Shares">1040572</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16620"
      unitRef="USDPShares">2.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16621"
      unitRef="USDPShares">1.37</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2023-01-01to2023-12-31" id="ixv-16622">P5Y10M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16623"
      unitRef="Shares">1040572</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16624"
      unitRef="USDPShares">2.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16625"
      unitRef="USDPShares">1.37</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm contextRef="From2023-01-01to2023-12-31" id="ixv-16626">P4Y10M20D</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16627"
      unitRef="Shares">1040572</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16628"
      unitRef="USDPShares">2.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16629"
      unitRef="USDPShares">1.37</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="From2023-01-01to2023-12-31" id="ixv-16630">P4Y10M20D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2023-01-012023-12-31_custom_StockOptionsMember"
      decimals="0"
      id="ixv-16631"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2022-01-012022-12-31_custom_StockOptionsMember"
      decimals="-5"
      id="ixv-16632"
      unitRef="USD">400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2023-12-31_custom_StockOptionsMember"
      decimals="-5"
      id="ixv-16633"
      unitRef="USD">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2022-12-31_custom_StockOptionsMember"
      decimals="-5"
      id="ixv-16634"
      unitRef="USD">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8821">&lt;p id="xdx_894_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zqh50fdtRDh4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#x2019;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BC_znMvlWauzPkb" style="display: none"&gt;Schedule
of Outstanding Restricted Stock Units and Related Party&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Average Grant Date Fair Value&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 64%"&gt;Unvested at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhd76MDGHSnb" style="width: 14%; text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;1,267,415&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zLTJ6FWkNsja" style="width: 14%; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;9.94&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zcqy0nS3PIU6" style="text-align: right" title="Number of Restricted Stock Units, Granted"&gt;1,925,476&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zhGsGOt2miVh" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;5.66&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKLpNaSAY3e7" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(725,166&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zT4XLEetUTSg" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;8.66&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zp8kIohbFj32" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;(41,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXAaNI3RYfy9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;8.31&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Unvested at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvh3M2dVg7E6" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;2,426,725&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zC9DruVIeOS5" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;6.95&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2CU1ssMzSa8" style="text-align: right" title="Number of Restricted Stock Units, Granted"&gt;1,948,750&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHlTRHZzhzof" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;1.92&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zxmXkor33Gc1" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(1,354,081&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z3EKlGRt0cI3" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;6.17&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zDBdSdiacP7b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;(95,897&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztIe6HJpuF21" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;6.16&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Unvested at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9SK3v3Suf97" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending"&gt;2,925,497&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zY7bM55B1Gc3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending"&gt;3.99&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16635"
      unitRef="Shares">1267415</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16636"
      unitRef="USDPShares">9.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968"
      decimals="INF"
      id="ixv-16637"
      unitRef="Shares">1925476</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968"
      decimals="INF"
      id="ixv-16638"
      unitRef="USDPShares">5.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968"
      decimals="INF"
      id="ixv-16639"
      unitRef="Shares">725166</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968"
      decimals="INF"
      id="ixv-16640"
      unitRef="USDPShares">8.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968"
      decimals="INF"
      id="ixv-16641"
      unitRef="Shares">41000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_us-gaap_RestrictedStockUnitsRSUMember47660968"
      decimals="INF"
      id="ixv-16642"
      unitRef="USDPShares">8.31</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16643"
      unitRef="Shares">2426725</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16644"
      unitRef="USDPShares">6.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      decimals="INF"
      id="ixv-16645"
      unitRef="Shares">1948750</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      decimals="INF"
      id="ixv-16646"
      unitRef="USDPShares">1.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      decimals="INF"
      id="ixv-16647"
      unitRef="Shares">1354081</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      decimals="INF"
      id="ixv-16648"
      unitRef="USDPShares">6.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      decimals="INF"
      id="ixv-16649"
      unitRef="Shares">95897</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      decimals="INF"
      id="ixv-16650"
      unitRef="USDPShares">6.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16651"
      unitRef="Shares">2925497</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="ixv-16652"
      unitRef="USDPShares">3.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="-5"
      id="ixv-16653"
      unitRef="USD">9500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_RestrictedStockUnitsRSUMember47660328"
      id="ixv-16654">P1Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-8961">&lt;p id="xdx_891_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zGm6iFaGPpqf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes warrant activity during the years ended December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zcp14VjSddQa" style="display: none"&gt;Schedule
of Warrant Activity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted Average Exercise&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Price&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 40%"&gt;Outstanding at December 31, 2021&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20220101__20221231_zts8Zk16Tuej" style="width: 11%; text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;526,281&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20220101__20221231_zTJi4Xoe47ra" style="width: 11%; text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;8.15&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20220101__20221231_zbfgcM7p4c3b" style="width: 11%; text-align: right" title="Weighted Average fair value, Beginning"&gt;4.01&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231_zSqLJooZvGxg" title="Weighted-average Remaining Contractual Life (Years) Outstanding"&gt;4.7&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Issued for adjustments to contingent purchase consideration&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration_c20220101__20221231_zwlGyYXTBMbh" style="text-align: right" title="Number of Warrants Outstanding, Issued"&gt;8,719&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zCVjHaZyPha8" style="text-align: right" title="Weighted Average Exercise Price, Issued"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zuN0HNtpr0bi" style="text-align: right" title="Weighted Average Fair Value, Issued"&gt;1.88&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="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20220101__20221231_zuToqGPFDhKk" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1290"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zg2Vh5gR2B2e" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1292"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zc4J1e9iuEe7" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1294"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20220101__20221231_zur5hyRwHMPi" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1296"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_znOf6WpWCH0b" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1298"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zkmI5Punj23k" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1300"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20220101__20221231_zntU1523wll8" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1302"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zQ8mOH6EoWD" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1304"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20220101__20221231_z9sLoh8Gasf4" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1306"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20220101__20221231_zBFMww47hEc7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;(50,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20220101__20221231_zajl4XfThVN" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;2.00&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20220101__20221231_zV6Mtk1w38e3" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;1.22&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20230101__20231231_zgXHOXuQKjda" style="text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;485,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20230101__20231231_zZlM3gjskajf" style="text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;8.81&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue_iS_pid_c20230101__20231231_zgqbwohPfy2b" style="text-align: right" title="Weighted Average fair value, Beginning"&gt;2.43&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20220101__20221231_z0l309U0q73e" title="Weighted-average Remaining Contractual Life (Years) Outstanding"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20230101__20231231_zYE7CYTTKCs" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1322"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantedInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z09dle1R83N" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1324"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsGrantedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z54PFd9khL2c" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1326"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20230101__20231231_z4hsN4cLXEH3" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1328"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z5pAabUvms8i" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1330"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zCwoOsxUmgsd" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1332"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20230101__20231231_zPUZaojQHJfh" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1334"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_z7eCJIoo29h" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1336"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_pid_c20230101__20231231_zkxsIC1cMgFd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1338"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: 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="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20230101__20231231_z4KtW0LAFfHb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1340"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20230101__20231231_zz8fLqqFJv1g" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1342"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_pid_c20230101__20231231_z6cx87XDrqI5" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1344"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20230101__20231231_zcufPtvEXGQ2" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending"&gt;485,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_pid_c20230101__20231231_zrXZ2sMlFMbb" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending"&gt;8.81&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_pid_c20230101__20231231_zEdQaU1OIxId" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending"&gt;1.29&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_90C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3_dtY_c20230101__20231231_zi3KSB7ddt5k" title="Weighted-average Remaining Contractual Life (Years) Outstanding"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="ixv-16655"
      unitRef="Shares">526281</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="ixv-16656"
      unitRef="USDPShares">8.15</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue
      contextRef="AsOf2021-12-31"
      decimals="INF"
      id="ixv-16657"
      unitRef="USDPShares">4.01</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1 contextRef="From2022-01-012022-12-31" id="ixv-16658">P4Y8M12D</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1>
    <CODX:ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16659"
      unitRef="Shares">8719</CODX:ShareBasedCompensationIssuedForAdjustmentsToContingentPurchaseConsideration>
    <CODX:IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16660"
      unitRef="USDPShares">9.13</CODX:IssuedForAdjustmentsToContingentPurchaseConsiderationPeriodWeightedAverageExercisePrice>
    <CODX:IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16661"
      unitRef="USDPShares">1.88</CODX:IssuedForAdjustmentsToContingentPurchaseConsiderationWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16662"
      unitRef="Shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16663"
      unitRef="USDPShares">2.00</CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16664"
      unitRef="USDPShares">1.22</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16665"
      unitRef="Shares">485000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16666"
      unitRef="USDPShares">8.81</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16667"
      unitRef="USDPShares">2.43</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3 contextRef="From2022-01-012022-12-31" id="ixv-16668">P4Y</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16669"
      unitRef="Shares">485000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16670"
      unitRef="USDPShares">8.81</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16671"
      unitRef="USDPShares">1.29</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3 contextRef="From2023-01-01to2023-12-31" id="ixv-16672">P3Y</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm3>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="0"
      id="ixv-16673"
      unitRef="USD">0</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      decimals="-5"
      id="ixv-16674"
      unitRef="USD">300000</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="0"
      id="ixv-16675"
      unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <CODX:ClassOfWarrantExercisable
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="ixv-16676"
      unitRef="Shares">20000</CODX:ClassOfWarrantExercisable>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16677"
      unitRef="Shares">465000</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-9245">&lt;p id="xdx_891_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zG1ZO3xHtDAk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognized stock-based compensation expense as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zqqGf0Cvi5Ak" style="display: none"&gt;Schedule
of Recognized Stock-based Compensation Expense&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20230101__20231231_zUyU6PXatIVi" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20220101__20221231_zVwz74A60Wr7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zsZdlhB6NyQj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%"&gt;Cost of sales&lt;/td&gt;&lt;td style="width: 2%"&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;46,586&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&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;63,058&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingAndMarketingExpenseMember_zB8zZJvF8PU7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Sales and marketing&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,153,974&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,866,116&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--GeneralAndAdministrativeExpenseMember_zDaT9YBOZd1e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;General and administrative&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;4,933,822&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;4,050,967&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--ResearchAndDevelopmentExpenseMember_zlSekZuMCO85" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Research and development&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,202,473&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,563,082&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_ze6lQOV68Zvl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total stock-based compensation expense&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;8,336,855&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7,543,223&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-12-31_us-gaap_CostOfSalesMember"
      decimals="0"
      id="ixv-16678"
      unitRef="USD">46586</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-12-31_us-gaap_CostOfSalesMember"
      decimals="0"
      id="ixv-16679"
      unitRef="USD">63058</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-12-31_us-gaap_SellingAndMarketingExpenseMember"
      decimals="0"
      id="ixv-16680"
      unitRef="USD">2153974</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-12-31_us-gaap_SellingAndMarketingExpenseMember"
      decimals="0"
      id="ixv-16681"
      unitRef="USD">1866116</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-12-31_us-gaap_GeneralAndAdministrativeExpenseMember"
      decimals="0"
      id="ixv-16682"
      unitRef="USD">4933822</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-12-31_us-gaap_GeneralAndAdministrativeExpenseMember"
      decimals="0"
      id="ixv-16683"
      unitRef="USD">4050967</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-12-31_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="0"
      id="ixv-16684"
      unitRef="USD">1202473</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-12-31_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="0"
      id="ixv-16685"
      unitRef="USD">1563082</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16686"
      unitRef="USD">8336855</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16687"
      unitRef="USD">7543223</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-9327">&lt;p id="xdx_801_eus-gaap--IncomeTaxDisclosureTextBlock_zUStweFEGuw" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
11 &#x2013; &lt;span id="xdx_824_zTHtL1ZUGKZa"&gt;Income Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z1fucJCdJeIg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of the provision (benefit) for income taxes consists of the following for the years ended December 31, 2023 and
2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zGUo5PTFh062" style="display: none"&gt;Schedule
of Components Income Tax Provision&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230101__20231231_zAGMBfigON3k" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023
&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20220101__20221231_zhzqXw1db6ii" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&#x202f;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023
&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zybAmLA9ssE" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Current:&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 id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zhq4Xo6ByWB7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 68%"&gt;Federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;84,435&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;563,821&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zXB9xEMWmp96" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;State&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(540,240&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(266,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zI4GaPh2vRYc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total current&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(455,805&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;297,573&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zRI4DHI8AHzf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Deferred:&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 id="xdx_407_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zPcsRrn0OBx9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,228,611&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,945,090&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zGRTr3UemzFh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;State&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2,068,509&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(961,468&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--ChangeInValuationAllowance_i01N_di_msDFSALzIK4_zYP5ml5iShba" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Change in valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;6,975,234&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1407"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_maITEBzvit_mtDFSALzIK4_zyomCHjiWSF2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,321,886&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(4,906,558&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zGMPxeosbt8a" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total income tax benefit&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;(2,777,691&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(4,608,985&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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 id="xdx_8A2_zExRs7olelmi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zxcxpYpE47p3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zO6sMCjuwaDj" style="display: none"&gt;Schedule
of Benefit from Income Taxes and Effective Tax Rates&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20230101__20231231_ztZOtJBM72Rh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220101__20221231_zwqiPSCSGYjh" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_maITEBzvik_zzNHpzp5iq8j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 68%; text-align: left"&gt;Federal income tax expense at statutory rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_maITEBzvik_zmyy9gFPl6G2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;State income tax expense, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4.8&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zpAP1FakDqz" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Permanent differences:&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 id="xdx_40E_eus-gaap--EffectiveIncomeTaxRateReconciliationFdiiPercent_i01_dp_uPure_maITEBzvik_zZgGUczgO9M6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Foreign derived intangible income deduction&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;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.4&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01N_dpi_uPure_msITEBzvik_zffnXSrvG5Cb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Stock based compensation&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;-3.5&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-3.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_i01_dp_uPure_maITEBzvik_zklfDefw9R3h" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Contingent consideration remeasurement&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;0.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8.8&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--EffectiveIncomeTaxRateReconciliationGoodwillImpairment_i01_dp_uPure_msITEBzvik_zS63YRrHg9Gg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Goodwill impairment&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;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-17.1&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_msITEBzvik_z8AN4aXJUDs3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Other permanent differences&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;-0.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-0.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_maITEBzvik_zo24qT8qXmr2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development credits&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;4.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11.1&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_iN_dpi_uPure_maITEBzvik_zut6jHrkWaPd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Change in uncertain tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-2.1&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_iN_dpi_uPure_msITEBzvik_zKB0zQ4ivcag" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Change in valuation allowance&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;-18.3&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_maITEBzvik_z4gQRDcEgbxl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.3&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.8&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_iT_dp_uPure_mtITEBzvik_zG6dCIgu0Gl5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7.3&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;24.5&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zk7wcU5sSVxd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zO89HrkwR5tf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
deferred tax liabilities consist of the following components as of December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zLjlQPnK81x7" style="display: none"&gt;Schedule
of Deferred Tax Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20231231_zphkmz9IKATf" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20221231_zDhAvm69WjHk" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zyrkMYjgTq77" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax assets:&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 id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zcAFGCS7EKpb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 68%; text-align: left"&gt;Accrued liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;58,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;98,141&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_z1VFwT9JaNwl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Reserves and allowances&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;734,631&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;765,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zKiMkMKh3L93" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred compensation&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;620,551&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;566,076&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--DeferredTaxAssetsCosts_i01I_maDTAGzwm0_zmvgCpdFZSih" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Section 174 costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,337,629&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;3,460,159&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--DeferredTaxAssetsLeaseLiability_i01I_maDTAGzwm0_zgXqPbQiYqw" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Lease liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;742,131&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;85,899&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_ecustom--DeferredTaxAssetsUniformCapitalization_i01I_maDTAGzwm0_zFMHKcPhXC11" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;UNICAP&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;43,943&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;168,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_i01I_maDTAGzwm0_zFltnaBLECla" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Net operating loss carryforwards&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;4,040,601&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1480"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_i01I_maDTAGzwm0_z5k9EHYPSkii" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Research and development credits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,688,255&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1483"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_maDTAOzex8_maDTANz2N2_z86vPnRPaNhk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Total gross deferred tax assets&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;15,265,899&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;5,144,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredTaxAssetsValuationAllowance_i01NI_di_msDTANz2N2_zsT9lRuMgstb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(6,938,829&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1489"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredTaxAssetsNet_i01TI_mtDTANz2N2_maDTALNzo3m_zibIiutP85Ve" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,327,070&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;5,144,215&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zchtSvz00Mo8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax liabilities:&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 id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzTlQ_z0XlaYHQrKNk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment, net&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;(672,416&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(609,261&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzTlQ_zQxlvov5S3Hf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Intangibles, net&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;(6,552,255&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,608,914&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzTlQ_zsbmYNBtIL37" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Prepaids&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;(329,768&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(156,053&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--DeferredTaxLiabilitiesRightOfUseAsset_i01NI_di_maDITLzTlQ_zHhf1Xg0KWYf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Right of use asset&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;(736,226&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(91,873&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesOtherComprehensiveIncome_i01NI_di_maDITLzTlQ_zfpTpXjKjEse" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Other comprehensive income&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;(36,405&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(96,101&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzTlQ_zm104iL3ZuY9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1512"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1513"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_msDTAOzex8_mtDITLzTlQ_msDTALNzo3m_zHNPxPzrBNn9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(8,327,070&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(7,562,202&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredTaxAssetsLiabilitiesNet_i01NTI_di_msDTAOzex8_mtDTALNzo3m_zhCIzb3DHAo7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net deferred tax liability&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1518"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(2,417,987&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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 id="xdx_8A6_z3nlZBkh68o4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;At
December 31, 2023, the Company had federal net operating loss carryforwards of $&lt;span id="xdx_90B_eus-gaap--OperatingLossCarryforwards_iI_pn5n6_c20231231_zjNabjX1kw4g" title="Net operating loss carry-forwards"&gt;16.3&lt;/span&gt; million and federal research and development credit
carryforwards of $&lt;span id="xdx_90C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_iI_pn5n6_c20231231_zs2VE6DnZ3Ia" title="Research and development credit carry forwards"&gt;1.4&lt;/span&gt; million. At December 31, 2023, the Company had state net operating loss carryforwards of $&lt;span id="xdx_90C_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_iI_pn5n6_c20231231_z22YidQyzPkf" title="State net operating loss carryforwards"&gt;16.9&lt;/span&gt; million and $&lt;span id="xdx_907_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwards_iI_pn5n6_c20231231_zamEApM84vDf" title="State research and development credit carryforwards"&gt;0.8&lt;/span&gt;
million of state research and development credit carryforwards. If unused, the state research credit carryforward will expire in 2037.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;ASC
Topic 740-10-05 requires that the impact of a tax position be recognized in the financial statements if that position is more likely
than not of being sustained on audit, based on the technical merits of the position. Our unrecognized tax benefit balances included $&lt;span id="xdx_906_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20231231_zYlogxS4pcrj" title="Unrecognized tax benefits that would impact effective tax rate"&gt;1,078,431&lt;/span&gt;
at December 31, 2023 and $&lt;span id="xdx_90D_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20221231_ztpTSPsyO3sf" title="Unrecognized tax benefits that would impact effective tax rate"&gt;1,469,577&lt;/span&gt; at December 31, 2022 of tax positions that, if recognized, would impact our effective tax rate. The
Company expects no material changes to the liability for unrecognized tax benefits in the next 12 months. Interest and penalties associated
with uncertain tax positions are recorded as a component of income tax expense. A reconciliation of the beginning and ending amount of
unrecognized benefits is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_zxL0D0hUgfm3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_z94xsNZDuCDj" style="display: none"&gt;Schedule
of Unrecognized Tax Benefits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 68%; text-align: left"&gt;Unrecognized tax benefits at the beginning of the year&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20230101__20231231_zdb7ekkbKvv4" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;1,469,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefits_iS_c20220101__20221231_z0bEfHo7DTvh" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;1,067,853&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - current year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20230101__20231231_ziFjioiNamth" style="text-align: right" title="Gross increases- current year tax positions"&gt;273,569&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20220101__20221231_zJy7yfC8d8T6" style="text-align: right" title="Gross increases- current year tax positions"&gt;1,045,590&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - prior year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20230101__20231231_zpCA93p4lOCc" style="text-align: right" title="Gross increases- prior year tax positions"&gt;66,127&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20220101__20221231_zbszH0jjCNVj" style="text-align: right" title="Gross increases- prior year tax positions"&gt;34,035&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gross decreases - prior year tax positions&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20230101__20231231_zpOSP1vOP26i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions"&gt;(730,842&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20220101__20221231_zStbaXY7KNU9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions"&gt;(677,901&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Unrecognized tax benefits at end of year&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20230101__20231231_z8ToZwoVZqVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;1,078,431&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--UnrecognizedTaxBenefits_iE_c20220101__20221231_zyIeJ6lZ3HC6" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;1,469,577&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Interest and penalties in year-end balance&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20230101__20231231_zqAmheii70p6" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"&gt;100,162&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20220101__20221231_ze0CB93QBrS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"&gt;34,035&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AD_zl5aqtWyZRUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is subject to taxation in the United States and other state jurisdictions. The tax years from December 31, 2020 through December
31, 2023 remain open to examination for federal income tax purposes and by the other major taxing jurisdictions to which the Company
is subject. The Company is not currently under examination by any taxing authority.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-9334">&lt;p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z1fucJCdJeIg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of the provision (benefit) for income taxes consists of the following for the years ended December 31, 2023 and
2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zGUo5PTFh062" style="display: none"&gt;Schedule
of Components Income Tax Provision&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230101__20231231_zAGMBfigON3k" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023
&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20220101__20221231_zhzqXw1db6ii" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&#x202f;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: center; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023
&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zybAmLA9ssE" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Current:&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 id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zhq4Xo6ByWB7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 68%"&gt;Federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;84,435&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;563,821&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zXB9xEMWmp96" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;State&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(540,240&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(266,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zI4GaPh2vRYc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total current&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(455,805&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;297,573&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zRI4DHI8AHzf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Deferred:&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 id="xdx_407_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zPcsRrn0OBx9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,228,611&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,945,090&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzIK4_zGRTr3UemzFh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;State&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2,068,509&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(961,468&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--ChangeInValuationAllowance_i01N_di_msDFSALzIK4_zYP5ml5iShba" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Change in valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;6,975,234&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1407"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_maITEBzvit_mtDFSALzIK4_zyomCHjiWSF2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,321,886&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(4,906,558&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zGMPxeosbt8a" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total income tax benefit&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;(2,777,691&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(4,608,985&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16688"
      unitRef="USD">84435</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16689"
      unitRef="USD">563821</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16690"
      unitRef="USD">-540240</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16691"
      unitRef="USD">-266248</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16692"
      unitRef="USD">-455805</us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16693"
      unitRef="USD">297573</us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16694"
      unitRef="USD">-7228611</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16695"
      unitRef="USD">-3945090</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16696"
      unitRef="USD">-2068509</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16697"
      unitRef="USD">-961468</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <CODX:ChangeInValuationAllowance
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16698"
      unitRef="USD">-6975234</CODX:ChangeInValuationAllowance>
    <us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16699"
      unitRef="USD">-2321886</us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16700"
      unitRef="USD">-4906558</us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16701"
      unitRef="USD">-2777691</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16702"
      unitRef="USD">-4608985</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-9487">&lt;p id="xdx_89F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zxcxpYpE47p3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zO6sMCjuwaDj" style="display: none"&gt;Schedule
of Benefit from Income Taxes and Effective Tax Rates&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20230101__20231231_ztZOtJBM72Rh" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220101__20221231_zwqiPSCSGYjh" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_maITEBzvik_zzNHpzp5iq8j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 68%; text-align: left"&gt;Federal income tax expense at statutory rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_maITEBzvik_zmyy9gFPl6G2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;State income tax expense, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4.8&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zpAP1FakDqz" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Permanent differences:&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 id="xdx_40E_eus-gaap--EffectiveIncomeTaxRateReconciliationFdiiPercent_i01_dp_uPure_maITEBzvik_zZgGUczgO9M6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Foreign derived intangible income deduction&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;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.4&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01N_dpi_uPure_msITEBzvik_zffnXSrvG5Cb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Stock based compensation&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;-3.5&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-3.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement_i01_dp_uPure_maITEBzvik_zklfDefw9R3h" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Contingent consideration remeasurement&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;0.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8.8&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--EffectiveIncomeTaxRateReconciliationGoodwillImpairment_i01_dp_uPure_msITEBzvik_zS63YRrHg9Gg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Goodwill impairment&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;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-17.1&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_msITEBzvik_z8AN4aXJUDs3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;- Other permanent differences&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;-0.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-0.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_maITEBzvik_zo24qT8qXmr2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development credits&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;4.6&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11.1&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_iN_dpi_uPure_maITEBzvik_zut6jHrkWaPd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Change in uncertain tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;-2.1&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_iN_dpi_uPure_msITEBzvik_zKB0zQ4ivcag" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Change in valuation allowance&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;-18.3&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_maITEBzvik_z4gQRDcEgbxl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.3&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;0.8&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_iT_dp_uPure_mtITEBzvik_zG6dCIgu0Gl5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7.3&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;24.5&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16703"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16704"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16705"
      unitRef="Pure">0.016</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16706"
      unitRef="Pure">0.048</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16707"
      unitRef="Pure">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16708"
      unitRef="Pure">0.014</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16709"
      unitRef="Pure">0.035</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16710"
      unitRef="Pure">0.036</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <CODX:EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16711"
      unitRef="Pure">0.006</CODX:EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement>
    <CODX:EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16712"
      unitRef="Pure">0.088</CODX:EffectiveIncomeTaxRateReconciliationContingentConsiderationRemeasurement>
    <CODX:EffectiveIncomeTaxRateReconciliationGoodwillImpairment
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16713"
      unitRef="Pure">0.000</CODX:EffectiveIncomeTaxRateReconciliationGoodwillImpairment>
    <CODX:EffectiveIncomeTaxRateReconciliationGoodwillImpairment
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16714"
      unitRef="Pure">-0.171</CODX:EffectiveIncomeTaxRateReconciliationGoodwillImpairment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16715"
      unitRef="Pure">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16716"
      unitRef="Pure">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16717"
      unitRef="Pure">-0.046</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16718"
      unitRef="Pure">-0.111</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16719"
      unitRef="Pure">-0.012</CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance>
    <CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16720"
      unitRef="Pure">0.021</CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16721"
      unitRef="Pure">0.183</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16722"
      unitRef="Pure">-0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16723"
      unitRef="Pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16724"
      unitRef="Pure">0.008</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16725"
      unitRef="Pure">0.073</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="ixv-16726"
      unitRef="Pure">0.245</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-9650">&lt;p id="xdx_896_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zO89HrkwR5tf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
deferred tax liabilities consist of the following components as of December 31, 2023 and 2022:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zLjlQPnK81x7" style="display: none"&gt;Schedule
of Deferred Tax Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20231231_zphkmz9IKATf" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20221231_zDhAvm69WjHk" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zyrkMYjgTq77" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax assets:&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 id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zcAFGCS7EKpb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 68%; text-align: left"&gt;Accrued liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;58,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;98,141&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_z1VFwT9JaNwl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Reserves and allowances&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;734,631&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;765,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zKiMkMKh3L93" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred compensation&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;620,551&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;566,076&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--DeferredTaxAssetsCosts_i01I_maDTAGzwm0_zmvgCpdFZSih" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Section 174 costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,337,629&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;3,460,159&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--DeferredTaxAssetsLeaseLiability_i01I_maDTAGzwm0_zgXqPbQiYqw" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Lease liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;742,131&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;85,899&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_ecustom--DeferredTaxAssetsUniformCapitalization_i01I_maDTAGzwm0_zFMHKcPhXC11" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;UNICAP&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;43,943&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;168,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_i01I_maDTAGzwm0_zFltnaBLECla" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Net operating loss carryforwards&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;4,040,601&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1480"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_i01I_maDTAGzwm0_z5k9EHYPSkii" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Research and development credits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,688,255&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1483"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_maDTAOzex8_maDTANz2N2_z86vPnRPaNhk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Total gross deferred tax assets&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;15,265,899&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;5,144,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredTaxAssetsValuationAllowance_i01NI_di_msDTANz2N2_zsT9lRuMgstb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(6,938,829&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1489"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredTaxAssetsNet_i01TI_mtDTANz2N2_maDTALNzo3m_zibIiutP85Ve" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,327,070&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;5,144,215&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zchtSvz00Mo8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax liabilities:&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 id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzTlQ_z0XlaYHQrKNk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment, net&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;(672,416&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(609,261&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzTlQ_zQxlvov5S3Hf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Intangibles, net&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;(6,552,255&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,608,914&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzTlQ_zsbmYNBtIL37" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Prepaids&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;(329,768&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(156,053&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--DeferredTaxLiabilitiesRightOfUseAsset_i01NI_di_maDITLzTlQ_zHhf1Xg0KWYf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Right of use asset&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;(736,226&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(91,873&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesOtherComprehensiveIncome_i01NI_di_maDITLzTlQ_zfpTpXjKjEse" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Other comprehensive income&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;(36,405&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(96,101&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzTlQ_zm104iL3ZuY9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1512"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1513"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_msDTAOzex8_mtDITLzTlQ_msDTALNzo3m_zHNPxPzrBNn9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(8,327,070&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(7,562,202&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredTaxAssetsLiabilitiesNet_i01NTI_di_msDTAOzex8_mtDTALNzo3m_zhCIzb3DHAo7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net deferred tax liability&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1518"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(2,417,987&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16727"
      unitRef="USD">58158</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16728"
      unitRef="USD">98141</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16729"
      unitRef="USD">734631</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16730"
      unitRef="USD">765004</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16731"
      unitRef="USD">620551</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16732"
      unitRef="USD">566076</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <CODX:DeferredTaxAssetsCosts
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16733"
      unitRef="USD">7337629</CODX:DeferredTaxAssetsCosts>
    <CODX:DeferredTaxAssetsCosts
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16734"
      unitRef="USD">3460159</CODX:DeferredTaxAssetsCosts>
    <CODX:DeferredTaxAssetsLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16735"
      unitRef="USD">742131</CODX:DeferredTaxAssetsLeaseLiability>
    <CODX:DeferredTaxAssetsLeaseLiability
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16736"
      unitRef="USD">85899</CODX:DeferredTaxAssetsLeaseLiability>
    <CODX:DeferredTaxAssetsUniformCapitalization
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16737"
      unitRef="USD">43943</CODX:DeferredTaxAssetsUniformCapitalization>
    <CODX:DeferredTaxAssetsUniformCapitalization
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16738"
      unitRef="USD">168936</CODX:DeferredTaxAssetsUniformCapitalization>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16739"
      unitRef="USD">4040601</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16740"
      unitRef="USD">1688255</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16741"
      unitRef="USD">15265899</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16742"
      unitRef="USD">5144215</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16743"
      unitRef="USD">6938829</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16744"
      unitRef="USD">8327070</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16745"
      unitRef="USD">5144215</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16746"
      unitRef="USD">672416</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16747"
      unitRef="USD">609261</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16748"
      unitRef="USD">6552255</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16749"
      unitRef="USD">6608914</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16750"
      unitRef="USD">329768</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16751"
      unitRef="USD">156053</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <CODX:DeferredTaxLiabilitiesRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16752"
      unitRef="USD">736226</CODX:DeferredTaxLiabilitiesRightOfUseAsset>
    <CODX:DeferredTaxLiabilitiesRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16753"
      unitRef="USD">91873</CODX:DeferredTaxLiabilitiesRightOfUseAsset>
    <us-gaap:DeferredTaxLiabilitiesOtherComprehensiveIncome
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16754"
      unitRef="USD">36405</us-gaap:DeferredTaxLiabilitiesOtherComprehensiveIncome>
    <us-gaap:DeferredTaxLiabilitiesOtherComprehensiveIncome
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16755"
      unitRef="USD">96101</us-gaap:DeferredTaxLiabilitiesOtherComprehensiveIncome>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16756"
      unitRef="USD">8327070</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16757"
      unitRef="USD">7562202</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16758"
      unitRef="USD">2417987</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31"
      decimals="-5"
      id="ixv-16759"
      unitRef="USD">16300000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="AsOf2023-12-31"
      decimals="-5"
      id="ixv-16760"
      unitRef="USD">1400000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="AsOf2023-12-31"
      decimals="-5"
      id="ixv-16761"
      unitRef="USD">16900000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="AsOf2023-12-31"
      decimals="-5"
      id="ixv-16762"
      unitRef="USD">800000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16763"
      unitRef="USD">1078431</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16764"
      unitRef="USD">1469577</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-9936">&lt;p id="xdx_896_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_zxL0D0hUgfm3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_z94xsNZDuCDj" style="display: none"&gt;Schedule
of Unrecognized Tax Benefits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 68%; text-align: left"&gt;Unrecognized tax benefits at the beginning of the year&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20230101__20231231_zdb7ekkbKvv4" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;1,469,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefits_iS_c20220101__20221231_z0bEfHo7DTvh" style="width: 12%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;1,067,853&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - current year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20230101__20231231_ziFjioiNamth" style="text-align: right" title="Gross increases- current year tax positions"&gt;273,569&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20220101__20221231_zJy7yfC8d8T6" style="text-align: right" title="Gross increases- current year tax positions"&gt;1,045,590&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - prior year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20230101__20231231_zpCA93p4lOCc" style="text-align: right" title="Gross increases- prior year tax positions"&gt;66,127&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20220101__20221231_zbszH0jjCNVj" style="text-align: right" title="Gross increases- prior year tax positions"&gt;34,035&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gross decreases - prior year tax positions&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20230101__20231231_zpOSP1vOP26i" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions"&gt;(730,842&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20220101__20221231_zStbaXY7KNU9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions"&gt;(677,901&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Unrecognized tax benefits at end of year&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20230101__20231231_z8ToZwoVZqVa" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;1,078,431&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--UnrecognizedTaxBenefits_iE_c20220101__20221231_zyIeJ6lZ3HC6" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;1,469,577&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Interest and penalties in year-end balance&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20230101__20231231_zqAmheii70p6" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"&gt;100,162&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20220101__20221231_ze0CB93QBrS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"&gt;34,035&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16765"
      unitRef="USD">1469577</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="ixv-16766"
      unitRef="USD">1067853</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16767"
      unitRef="USD">273569</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16768"
      unitRef="USD">1045590</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16769"
      unitRef="USD">66127</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16770"
      unitRef="USD">34035</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16771"
      unitRef="USD">730842</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="ixv-16772"
      unitRef="USD">677901</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16773"
      unitRef="USD">1078431</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16774"
      unitRef="USD">1469577</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16775"
      unitRef="USD">100162</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="ixv-16776"
      unitRef="USD">34035</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10035">&lt;p id="xdx_804_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zJ7M0KreUDnf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
12 &#x2013; &lt;span id="xdx_82C_z2r1SbGE2A7l"&gt;Commitments and Contingencies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Lease
Obligations&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company leases administrative, R&amp;amp;D, sales and marketing and manufacturing facilities under non-cancellable operating leases and leases
cancellable with one month notice. The Company expenses the cancelable leases in the period incurred in accordance with the practical
expedient elected. During the year December 31, 2023, the Company amended two operating leases to extend the lease term and entered into
two new operating leases. As a result, the Company recognized additional operating lease liabilities and corresponding operating right-of-use
assets of $&lt;span id="xdx_909_eus-gaap--OperatingLeaseLiability_iI_c20231231__us-gaap--TypeOfArrangementAxis__custom--LeaseAmendmentMember_zM9FhLvg21rj" title="Operating lease liabilities"&gt;3,203,146&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--LeaseCostTableTextBlock_z3oEwbNbiydc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the year ended December 31, 2023, components of lease expense are summarized as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zJQLFyzBoWNj" style="display: none"&gt;Schedule
of Lease Expense&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_zYmZZ6quuVJg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Year Ended&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseCost_maLCz2lp_zKp27a95f3Jd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;Operating lease costs&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;813,743&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--ShortTermLeaseCost_maLCz2lp_zhFCsRb3Oxyj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Short-term lease costs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;198,261&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LeaseCost_iT_mtLCz2lp_zBSkHO5SgUme" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total lease costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,012,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_z2gIVZQ4t6Bd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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 id="xdx_891_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ztC73cIxjxT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2023, the maturities of the Company&#x2019;s lease liabilities are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B2_zozi1g7pylXl" style="display: none"&gt;Schedule
of Maturities on Company Lease Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zNrFQm09Gkqj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Year Ending&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;December 31,&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz8za_zdd2Ln1JJ3Uj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;996,676&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz8za_zRgaTmUgQgm" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,018,383&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPz8za_ziVVgwtDYM4c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;714,630&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maLOLLPz8za_zgJR8iQWFC4l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;300,591&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_maLOLLPz8za_zCEePENNGnh6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;308,462&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz8za_zFPsdrvcBO6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,338,742&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iI_zklZpvMvOMAg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: imputed interest&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;348,175&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zjlC42Y6eqP2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Present value of operating lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,990,567&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_ziw2bZVkVHcb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;838,387&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zvCXYXAPKrz4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Long-term portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,152,180&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zXO3U92iatWl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; 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 id="xdx_89C_ecustom--ScheduleOfOperatingLeaseTableTextBlock_zSn9SesXmzPc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
information related to operating leases was as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B0_zMwcrWIxhLU2" style="display: none"&gt;Schedule
of Other Information Related to Operating Lease&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20231231_z6PZSwsWD1h5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Year Ended&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OperatingLeasePayments_zkIi4uqaEhp6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;Cash paid for operating leases included in operating cash flows&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;954,013&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Remaining lease term of operating leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmHzsa18Ecaa" title="Remaining lease term of operating leases"&gt;3.7&lt;/span&gt; years &lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Discount rate of operating leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20231231_zm4Zwyhl4bT9" style="text-align: right" title="Discount rate of operating leases"&gt;6.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AD_znHmIu7nyaR7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Litigation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Liabilities
for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable
that a liability has been incurred and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies
are expensed as incurred.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is a defendant in two class action claims and three derivative actions claiming that the Company promulgated false and misleading
press releases to increase the price of our stock to improperly benefit the officers and directors of the Company. The plaintiffs demand
compensatory damages sustained as a result of the Company&#x2019;s alleged wrongdoing in an amount to be proven at trial. The Company
is also a party to two civil actions, one in the US and the other in the United Kingdom. Each of the civil actions is based on breach
of contract claims against the Company. The Company believes these lawsuits are without merit and intends to defend the cases vigorously.
The Company is unable to estimate a range of loss, if any, that could result were there to be an adverse final decision in these cases.
As of the date of this report, the Company does not believe it is probable that these cases will result in an unfavorable outcome; however,
if an unfavorable outcome were to occur in these cases, it is possible that the impact could be material to the Company&#x2019;s results
of operations in the period(s) in which any such outcome becomes probable and estimable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31_custom_LeaseAmendmentMember"
      decimals="0"
      id="ixv-16777"
      unitRef="USD">3203146</us-gaap:OperatingLeaseLiability>
    <us-gaap:LeaseCostTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10052">&lt;p id="xdx_89B_eus-gaap--LeaseCostTableTextBlock_z3oEwbNbiydc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the year ended December 31, 2023, components of lease expense are summarized as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B5_zJQLFyzBoWNj" style="display: none"&gt;Schedule
of Lease Expense&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_zYmZZ6quuVJg" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Year Ended&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseCost_maLCz2lp_zKp27a95f3Jd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;Operating lease costs&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;813,743&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--ShortTermLeaseCost_maLCz2lp_zhFCsRb3Oxyj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Short-term lease costs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;198,261&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LeaseCost_iT_mtLCz2lp_zBSkHO5SgUme" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total lease costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,012,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16778"
      unitRef="USD">813743</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16779"
      unitRef="USD">198261</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16780"
      unitRef="USD">1012004</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10089">&lt;p id="xdx_891_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ztC73cIxjxT5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2023, the maturities of the Company&#x2019;s lease liabilities are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B2_zozi1g7pylXl" style="display: none"&gt;Schedule
of Maturities on Company Lease Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zNrFQm09Gkqj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Year Ending&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;December 31,&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz8za_zdd2Ln1JJ3Uj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;996,676&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz8za_zRgaTmUgQgm" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,018,383&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPz8za_ziVVgwtDYM4c" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;714,630&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maLOLLPz8za_zgJR8iQWFC4l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;300,591&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour_iI_maLOLLPz8za_zCEePENNGnh6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;308,462&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz8za_zFPsdrvcBO6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,338,742&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iI_zklZpvMvOMAg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: imputed interest&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;348,175&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zjlC42Y6eqP2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Present value of operating lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,990,567&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OperatingLeaseLiabilityCurrent_iI_ziw2bZVkVHcb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;838,387&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_zvCXYXAPKrz4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Long-term portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;2,152,180&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16781"
      unitRef="USD">996676</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16782"
      unitRef="USD">1018383</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16783"
      unitRef="USD">714630</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16784"
      unitRef="USD">300591</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <CODX:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16785"
      unitRef="USD">308462</CODX:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16786"
      unitRef="USD">3338742</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16787"
      unitRef="USD">348175</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16788"
      unitRef="USD">2990567</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16789"
      unitRef="USD">838387</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-16790"
      unitRef="USD">2152180</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <CODX:ScheduleOfOperatingLeaseTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10179">&lt;p id="xdx_89C_ecustom--ScheduleOfOperatingLeaseTableTextBlock_zSn9SesXmzPc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
information related to operating leases was as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B0_zMwcrWIxhLU2" style="display: none"&gt;Schedule
of Other Information Related to Operating Lease&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20231231_z6PZSwsWD1h5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Year Ended&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OperatingLeasePayments_zkIi4uqaEhp6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 78%; text-align: left"&gt;Cash paid for operating leases included in operating cash flows&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 18%; text-align: right"&gt;954,013&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Remaining lease term of operating leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmHzsa18Ecaa" title="Remaining lease term of operating leases"&gt;3.7&lt;/span&gt; years &lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Discount rate of operating leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20231231_zm4Zwyhl4bT9" style="text-align: right" title="Discount rate of operating leases"&gt;6.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</CODX:ScheduleOfOperatingLeaseTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-16791"
      unitRef="USD">954013</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2023-12-31" id="ixv-16792">P3Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16793"
      unitRef="Pure">0.062</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10229">&lt;p id="xdx_80E_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z5dd6gga9NL8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
13 &#x2013; &lt;span id="xdx_829_zFXII1MKLcB8"&gt;Share Repurchase Program&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
March 2022, the Company&#x2019;s board of directors authorized a share repurchase program that would allow the Company to repurchase up
to $&lt;span id="xdx_909_eus-gaap--StockRepurchaseProgramAuthorizedAmount1_iI_pn5n6_c20220331_zzQproajo8Xc" title="Stock repurchase program authorized amount"&gt;30.0&lt;/span&gt; million of CODX common stock. The repurchase program does not obligate the Company to acquire any particular number of common
shares, and the repurchase program may be suspended or discontinued at any time at the Company&#x2019;s discretion. The timing and amount
of any share repurchases under the share repurchase program will be determined by Co-Diagnostics&#x2019; management at its discretion
based on ongoing assessments of the capital needs of the business, the market price of the Company&#x2019;s common stock, corporate and
regulatory requirements, and general market conditions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
accounting purposes, common stock repurchased under the stock repurchase program is recorded based upon the transaction date of the applicable
trade. Such repurchased shares are held in treasury and are presented using the cost method. These shares are not retired and are considered
issued but not outstanding. The following table shows the changes in treasury stock for the periods presented:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_ecustom--ScheduleOfTreasuryStockTableTextBlock_zv5SP60yESWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_zWSnzLoHAf13" style="display: none"&gt;Schedule
of Treasury Stock&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Year Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 78%"&gt;Balance, beginning of period&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--TreasuryStockCommonShares_iS_pid_d0_c20230101__20231231_z1mksBDxzqM7" style="width: 18%; text-align: right" title="Treasury stock, Beginning Balance"&gt;3,881,658&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Repurchases of common stock&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--RepurchasesOfCommonStock_c20230101__20231231_zGoX2iqdpjX8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Repurchases of common stock"&gt;967,020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Balance, end of period&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--TreasuryStockCommonShares_iE_pid_c20230101__20231231_zthDkbmnOdma" style="border-bottom: Black 2.5pt double; text-align: right" title="Treasury stock, Ending Balance"&gt;4,848,678&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AC_zoVh7n41wK17" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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: 0pt; 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;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="AsOf2022-03-31"
      decimals="-5"
      id="ixv-16794"
      unitRef="USD">30000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <CODX:ScheduleOfTreasuryStockTableTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10244">&lt;p id="xdx_897_ecustom--ScheduleOfTreasuryStockTableTextBlock_zv5SP60yESWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_zWSnzLoHAf13" style="display: none"&gt;Schedule
of Treasury Stock&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Year Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; 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: 78%"&gt;Balance, beginning of period&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--TreasuryStockCommonShares_iS_pid_d0_c20230101__20231231_z1mksBDxzqM7" style="width: 18%; text-align: right" title="Treasury stock, Beginning Balance"&gt;3,881,658&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Repurchases of common stock&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--RepurchasesOfCommonStock_c20230101__20231231_zGoX2iqdpjX8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Repurchases of common stock"&gt;967,020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Balance, end of period&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--TreasuryStockCommonShares_iE_pid_c20230101__20231231_zthDkbmnOdma" style="border-bottom: Black 2.5pt double; text-align: right" title="Treasury stock, Ending Balance"&gt;4,848,678&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</CODX:ScheduleOfTreasuryStockTableTextBlock>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="ixv-16795"
      unitRef="Shares">3881658</us-gaap:TreasuryStockCommonShares>
    <CODX:RepurchasesOfCommonStock
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="ixv-16796"
      unitRef="Shares">967020</CODX:RepurchasesOfCommonStock>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="ixv-16797"
      unitRef="Shares">4848678</us-gaap:TreasuryStockCommonShares>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10286">&lt;p id="xdx_809_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zcRFWQVhV6L8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 14 &#x2013; &lt;span id="xdx_829_zggX1HhjOkr9"&gt;Related Party Transactions&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company employs one person who is related to
current or former executive officers. Seth Egan is the Company&#x2019;s Director of Sales and Marketing, and is the son of Dwight
Egan, the Company&#x2019;s President and Chief Executive Officer and Chairman of the Board. During the year ended December 31, 2023,
the total compensation paid to this person, including salaries, bonuses, and the grant date fair value of equity awards which vest
over &lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--SethEganMember_z7AfbhNzBbOd" title="Share based payment, vesting period"&gt;three
years&lt;/span&gt;, was $&lt;span id="xdx_90D_ecustom--PaymentToRelatedParty_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--SethEganMember_zUpJY7SSvE32" title="Total compensation paid"&gt;0.6&lt;/span&gt;
million. The Company also uses the services of Winston Egan as an independent contractor for sales operations consulting.
Winston Egan is also the son of Dwight Egan, the Company&#x2019;s President and Chief Executive Officer and Chairman of the Board.
During the year ended December 31, 2023, the total compensation paid to this contractor, comprised of consulting fees, was $&lt;span id="xdx_902_ecustom--PaymentToRelatedParty_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--WinstonEganMember_zfFOjDSO2HMe" title="Fair value of equity awards"&gt;0.1&lt;/span&gt;
million.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In August 2023, the Company entered into a
services agreement with CoSara, the Company&#x2019;s equity method investment, under which CoSara provides certain research and
development consulting and support services. During the year ended December 31, 2023, the Company recognized $&lt;span id="xdx_908_eus-gaap--ResearchAndDevelopmentExpense_pn5n6_c20230101__20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--CoSaraDiagnosticsPvtLtdMember_z0ytD3iqcZZf" title="Research and development expenses"&gt;0.2&lt;/span&gt; million
of expense related to this agreement.&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="From2023-01-012023-12-31_custom_SethEganMember"
      id="ixv-16798">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <CODX:PaymentToRelatedParty
      contextRef="From2023-01-012023-12-31_custom_SethEganMember"
      decimals="-5"
      id="ixv-16799"
      unitRef="USD">600000</CODX:PaymentToRelatedParty>
    <CODX:PaymentToRelatedParty
      contextRef="From2023-01-012023-12-31_custom_WinstonEganMember"
      decimals="-5"
      id="ixv-16800"
      unitRef="USD">100000</CODX:PaymentToRelatedParty>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-012023-12-31_custom_CoSaraDiagnosticsPvtLtdMember"
      decimals="-5"
      id="ixv-16801"
      unitRef="USD">200000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2023-01-01to2023-12-31" id="ixv-10303">&lt;p id="xdx_80A_eus-gaap--SubsequentEventsTextBlock_zUmyzUAgzKRi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
15 &#x2013; &lt;span id="xdx_825_zovM81G7HKrj"&gt;Subsequent Events&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&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: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;None.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2023-10-012023-12-31" id="ixv-16802">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2023-10-012023-12-31" id="ixv-16803">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2023-10-012023-12-31" id="ixv-16804">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2023-10-012023-12-31" id="ixv-16805">false</ecd:NonRule10b51ArrTrmntdFlag>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact000983"
          xlink:label="Fact000983"
          xlink:type="locator"/>
        <link:footnote id="Footnote001026" xlink:label="Footnote001026" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Based on weighted-average
useful life established as of the acquisition date.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000983"
          xlink:to="Footnote001026"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000991"
          xlink:label="Fact000991"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000991"
          xlink:to="Footnote001026"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001005"
          xlink:label="Fact001005"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001005"
          xlink:to="Footnote001026"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001013"
          xlink:label="Fact001013"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001013"
          xlink:to="Footnote001026"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
